Google Ads Not Displaying

סיכום מבוסס בינה מלאכותית

Users are troubleshooting why Google Ads aren’t displaying on a Discourse site, encountering CSP (Content Security Policy) errors blocking adsbygoogle.js. agentpoyo initially tried adding meta tags but broke the site further. After installing the official Ads plugin and disabling the content_security_policy setting in admin, ads began loading. agentpoyo shares the fix: disable CSP in admin, install and configure the official Ads plugin, and create mobile/desktop ad units. However, codinghorror warns that disabling CSP entirely exposes the site to security risks. agentpoyo clarifies that CSP should be managed via server headers (e.g., nginx) rather than meta tags, since admin CSP overrides custom tags. Logan_Douglas criticizes the plugin for not documenting CSP requirements, suggesting the plugin should auto-configure CSP for Adsense. codinghorror agrees, noting CSP is a recent default security feature and documentation should be updated. The thread highlights the tension between ad functionality and security, urging better plugin documentation and CSP handling.

I’m seeing the following error when verifying why google ads are not displaying.

Refused to load the script 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js' because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'report-sample'

I’m not a coder or anything. I’ve tried some suggestions for adding meta tags for Content Security Policy but those seem to break the entire site even more.

Any suggestions? I’m using the default Light theme with a version 2.3.0.beta9 that is used on Digital Ocean marketplace.

Did you install https://meta.discourse.org/t/official-discourse-advertising-plugin-not-showing-adsense-ads/50962 or are you trying to create ads some other way?

I’ve tried both. I installed the official ads plugin and added my own google script code in the /head under customizations.

I just discovered the content_security_policy setting as well and disabled it, was still getting errors but that was with my script in the /head, disabling that now and trying with the plugin settings.

Seems the errors are gone. Do I have to create ad units to throw in the ad unit # or if I set these as responsive should they start loading by chance?

Ah, looks like it’s now loading some ads. I think I found the magic fix. :slight_smile:

For anyone who runs into the same issues, steps to get ads going seems to be:

  1. Disable content_security_policy
  2. Make sure the official Ad plugin is installed and active.
  3. Create ad unit’s for mobile and desktop to place in the ad settings for use.

Seems if you try doing meta http-equiv="Content-Security-Policy" in your head tags, it still complains about the policies if the security policy is enabled in the admin settings.

Note that you make your site vulnerable to hackers if you disable CSP entirely.

Yes.

In my case my own CSP in my head tags were being overwritten by the CSP being enabled.

Disable in admin settings, setup CSP in headers or configure your own within nginx, etc.

I’ve run into the same issue.

Kinda annoying that an ad plugin is offered - Yet no mention of CSP configuration in the ad plugin - I guess your left to adventure into the bug wilderness huh?

Why not mention to users in the Ad plugin readme - You need to configure CSP?

The ad plugin should handle the CSP entries for adsense/relevant ad platform.

CSP being on by default is somewhat new, and an important security feature, so we should update our docs.