Google Ads disapproved my ads because my canister frontend calls another canister directly — is Cloudflare DNS enough to fix this?

Hi everyone,

I’m hoping to get some advice from people who’ve dealt with Google Ads and ICP-hosted projects.

My setup: my website is a canister, served behind a custom domain on Cloudflare. The website itself calls a separate app (also a canister) directly via its canister URL.

Google Ads disapproved my ads, and as far as I can tell, the issue is that the site was making requests to that raw canister/ic0.app-style domain. To fix it, I’ve now put the app behind Cloudflare with a custom domain as well, so everything should be served from domains I control.

However, the ads are still disapproved, and my appeals haven’t gone through yet.

A few questions for those with more experience:

  1. Has anyone run into this with Google Ads (or other ad networks) and ICP canisters? What was the actual trigger — the raw canister domain, the boundary node, something else?
  2. Is putting everything behind Cloudflare with custom domains enough, and now it’s just a matter of waiting for Google to re-review? Or should I expect further problems (e.g. certificate/boundary node headers, redirects, “compromised site” flags)?
  3. Is there anything else you’d recommend checking — response headers, service worker behavior, mixed content, etc. — that might still be flagging the site?

Any pointers would be really appreciated. Thanks!


1 Like