Issue with Adsense and pageviews

I think there’s a serious issue with how the Plugin is working for Google Adsense.

I have tried to document the data here on a conversation about Page Views:

With the official Plugin running and several ads in prominent positions on the page, I only got a 3.9% Google AdSense to Google Analytics GA4 PV count.

I tried adding the AdSense codes using GTM and AdSense Auto ads placement and I’m now getting a 13% hit rate of AdSense page views to GA4 page views - this is with far fewer & less prominent ads on the page - GTM is a deeply flawed method that doesn’t work if you browse the site, but even so, it is still outperforming the plugin by a considerable margin.

I’m not a developer/programmer but I think the problem is that the HISTORY changes on the pages are not triggering the AdSense Tags using the Plugin, or something like that, also the infinite scroll page loads are not triggering pageviews which I think they should. In fact, the PV rate is so much lower than even the Discourse PVs that I don’t think the changing page is triggering the AdSense tags, I think only first visits or full page refreshes are being counted by Adsense when using the plugin. Even though the ads are visible when you browse the site.


So on July 15th data

  • Google Analytics GA4: had 152K PageViews
  • Google Analytics GA4: had 6.8K First Visit Events
  • Discourse Logged: 93K Page Views - I understand the difference between Discourse PVs and GA4 so that makes sense.
  • Google AdSense: 6K Page views

There’s something not working correctly here to my mind.

Is anyone getting better Pageview data using AdButler or any of the other Advertising integrations?

AdSense Pageview v Visibility Graph:

On the left is the plugin - and on the right is AdSense added with GTM - you can see that the Plugin gave me much better ad visibility then the Auto Ads i have added via GTM

(NB: Ignoring the flatline there, I had removed the tags altogether at that stage. )

Google Analytics data for the same timeframe

The Google Analytics data shows how much busier the site was (peak season for my site ends at the end of July) but even with far less traffic, it is now generating far more AdSense page views proportionately using the deeply flawed GTM system.

I hope this data will help someone to troubleshoot the issue.

Just to give further insight:

In July I had

  • 172K First Visit Events in GA4
  • 177K Page Views in Google AdSense

Those numbers are far too close to be a coincidence IMO.

Over that timeframe:

  • Discourse counted 1.7 Million Page Views
  • Google Analytics counted 3.9 Million (I have a lot of long threads so lots of dynamic page loads with infinite scroll).

So actually it looks like the vast, vast majority of subsequent page views after the initial page load seem to get lost on AdSense.


I’m afraid I don’t have much experience with this plugin so I’m unsure where to start, but I’ll slide it over to bug and hopefully get some more experienced eyes on it. :eyes:


Thanks @JammyDodger :+1:


I’ve read though this and your other topic but now I’m slightly confused on the issue you’re reporting.

Are you concerned that AdSense ads are not actually being served by the ad plugin? Or are you concerned that though the ads are being served, they’re not being recognized as page views in GTM?

In terms of how we track page views in Discourse, I think you’ve already deduced this but to track a page view it must be:

  1. Signaled from the Application as a pageview, which happens on route transitions (e.g. click on user page from topic page, transition between topics, etc.)
  2. OR, not an Ajax request (meaning either first request to PWA or crawler, etc.)


  1. A 200 response, not an error
  2. A text/html request, not a json one. (Thus excluding direct API requests)

So for Discourse, simply scrolling down the page will not count as new page views.

Separately, as for adding the history trigger to the GTM tag, I’m not sure how this might effect ad serving but I have noticed an uptick in the count of pageviews on my test site after adding this, so perhaps you’re on to something there.


Hi @MarkDoerr - Thanks for getting back.

Sorry if I was not clear enough, I’m kind of fumbling around trying things out and possibly confusing the whole issue.

The main issue I was having is that using the advertising plugin with Adsense I was only getting a tiny fraction of page views in Google AdSense compared to Google Analytics Page Views or Discourse PageViews.

At a rate of for July:

  • Google Analytics: 3.9 million page views.
  • Discourse 1.7 Million page views
  • Google Adsense using the Plugin 177,000 page views

Which is a dramatic fall-off. I had ads visible on most pages, header, footer, between posts after topics, etc. The ads seemed to load on most pages as you browsed but only a fraction of them were registering on AdSense.

Are other people getting a better return rate using the ad plugin with Adsense?

To try and see if I could get a better PageView I started experimenting with GTM but maybe that’s just confusing things, so let’s leave that for now but i have got a better PageView return with far less traffic since trying it out.

[ edit - correcting AdSesne data - ]


Hardly. Incomes are so low with Discourse it is just same to stop showing Google ads for good. Well, users are happier, I reckon.

That was the main reason why I stopped share direct links of my forum and I’m rerouting people via WordPress and comments.

But that can’t be correct right? It must be possible to get at least a discourse page view to count as a pageview in AdSense. Right? To me, that means the Ad system is not working if it is not registering Pageviews at the correct rate.

Does the AdButler integration work with the same tiny percentage of pageview counted?

No worries. I thought this is what you meant but you were doing a number of different experiments so I just wanted to be sure. :slight_smile:

Sorry for what may seem like remedial questions/observations but I don’t serve ads so I’m coming at this with a fresh AdSense account that’s waiting for approval.

So by serving your ads thru GTM you saw a higher ratio of AS/GA4 page views than you did when you were serving the ads thru the plugin?

And yet…

…which seems to suggest that your ad impressions are still high, and in fact better when the ads are served through the plugin than GTM, is that correct?

Out of curiosity, how many impressions does AdSense report during the same time frame as page views? Have you seen any fluctuation in that during your testing?

This all feels like a Google-to-Google-rabbit-hole problem but as I said, I’m waiting on my AdSense account to be approved so I can test this myself. I’ll keep looking at this while I wait to see if I can find anything that we might be able to do to help.


No worries, I’m happy to explain again more clearly.

Correct, I’m getting a similar number of AS page views now to what I was getting previously but with a much quieter site (it is off-peak season for my site now).

But it is still only a very small percentage of the pageviews that Fathom Analytics, GA4, or Discourse is counting per day. Like 7K AS PVs compared to 48K in discourse, 67K in GA4 & Fathom.

Using GTM the Ad impressions are lower and ad visibility is also lower, the reason for this is that I am using Adsense auto ads, so the ads aren’t in as good locations as you can easily add them using the plugin.

The data on the left was the plugin - and the data on the right using GTM - I was making so little, I had given up in between.

Here’s the traffic across the same data for comparison:

Also, a major factor is when I browse the site using the GTM approach, I see ads on the initial page load but they don’t appear when I browse to another page and if I browse back to the homepage they are no longer there. They only appear when I do a full page refresh, but they’re still giving me a better Page View count than using the plugin.

Whereas with the Plugin I could see ads when I browse from page to page on the site, but browsing the site was not creating page views in Adsense. It’s like the worst of both worlds, users see the ads but AdSense doesn’t see your page views. So you’re annoying users and not creating any worthwhile revenue.

I think using the plugin AdSense is only counting initial page loads, not subsequent page loads. Even though the ads are visible, it’s like the PageViews simply aren’t counted.

Going back to my July example - for example over the whole of July I had

  • Discourse counted 1.7 Million Page Views
  • Google Analytics counted 3.9 Million (I have a lot of long threads).
  • Google Analytics counted 172K First Visit Events (GA4)
  • Google AdSense counted 177K Page Views

Those last two figures seem strangely similar, the extra 5K could just be refreshes?

I think it’s a Discourse PV to Google AdSense PV problem. I had a similar issue with Fathom Analytics until i added it to the site using GTM. I’m hoping to get an Adbutler account up and running tomorrow but I have a feeling it will have the same issue.


Would be interested to hear if anyone is using the other integrations:

  • Google Ad Manager
  • Amazon
  • Carbon Ads
  • AdButler

Are any of those integrations showing a similar number of page views to Discourse’s page views or better again to Google Analytics Page Views.

That might establish whether it’s a Google AdSense problem or a Discourse issue.

EDIT: I have figured out how to set up a zone in AdButler and have added a zone to the site using the Adplugin, so will be interesting to see how this goes, the first ad impressions seem to be coming through now.

ANOTHER EDIT. So AdButler doesn’t count Page Views as such, it only counts Ad Impressions, I have set a few Default ads in a couple of zones (positions) on the site using the plugin, and 4 hours in I have 5.1K impressions, which is about 900 short of the total impression for yesterday on AdSense. Interesting.

ANOTHER EDIT: Okay so I misunderstood what AdButler is, so I have started adding my AdSense ad units to the site using AdButler, will be interesting to see how many impressions/page views we get based on that, early data seems promising.


Okay, so I tried using AdButler and the AdButler plugin settings to add the AdSense Ad units to the site manually (and left the AutoAds running as well) … and there are the results:


  • July 24-July 31 = Running Adsense using the plugin = Getting very few page views about 5K per day but each page view is generating loads of impressions 30-40K - with these settings, I saw ads on most pages where you’d expect to see them with the settings I had used - top of topic list, between posts etc.
  • Aug 1-Aug 23 = no ads
  • Aug 24-Aug 30 = Just running Google Autoads using Google Tag Manager = not seeing many ads on the site other than on a page load or full page refresh. A few on the first load and then none afterwards but still had about 7K Page Views generating 12-14K Impressions.
  • AUG 30 onwards: (which is the big ramp up to the right of the graph) = Adding AdSense ad units using the Adbutler zones. Getting many more Page Views 50K plus per day … great! … but for some reason, the Impressions have not gone up by a proportionate amount, they’re stuck at the same level i was getting with only 5K pageviews… if they had increased as expected, the red line to the right would be off the chart there, instead now I am getting fewer impression then PageViews.

This is despite having a lot more viewable ads on the site when browsing the pages, the AdButler ads do seem to load into the slots they have been added to using the plugin, I see two or three ads on most pages I go to as expected, whereas before (Aug 23-Aug 29) I was seeing very few ads, so, they should be getting counted as impressions but they’re not it seems, but the page views are registering. :man_shrugging:

I’m lost at this point. :sweat_smile:

Should i give Adsense longer to see if the impressions will go up more?

I think I’m going to sign up for another source of ads and try them with the AdButler plugin and see if i can get a different result from the AdSense data above. Maybe Adsesne is the issue.


Okay, so I tried adding Smarty Ads using AdButler with the Adbutler plugin, but I’m having a similar issue:

The test ad I am trying out is the MOBILE POST BOTTOM ZONE ad on that location, as it seems to be the ad that appears between posts on mobile. This ad typically gets a lot of impressions as 80% of my traffic is from mobile devices.

So, I have set up the ad units in Smarty Ads, and then set up my zones in Adbutler, and added Ad Units to Adbutler which contain the Smarty embed codes.

Here are the ADBUTLER stats for today, pay particularly close attention to the MOBILE POST BOTTOM impressions - 11K for today

This number seems about right. I have quite a few long threads, so this ad should get triggered a lot. As a result, AdButler seems to be triggering its ads at roughly the rate I would expect.

The problem is, on the Smarty Ads dashboard, I am only getting a fraction of the REQUESTS that you would expect from the above traffic.


I’m having the same problem here. Unfortunately adsense counts are very low compared to page views. Will an update be published about this problem?

Yeah, I’ve given up on AdSense, it’s clearly not registering PageViews properly, unfortunately.

Did you have any luck with that @MarkDoerr ?

FWIW, in my opinion, Adsense just doesn’t play well with Discourse or vice versa. Probably better off w/ another vendor.

I average at least one “Adsense Publisher Violation Report” every couple of months, which seems related to the integration. And users who see ads are constantly being ‘bounced’ up and down the thread as ads load.

Currently that is very definitely the case, but the newer Google Analytics does read Discourse well, surely AdSense can be made to work as well?

Just a note that Mark’s away for the week. I wish I could answer your questions, but I’m in the same position as Mark mentions here:

Actually, in a somewhat worse position as I don’t even have an AdSense account waiting for approval.

It would be great to know if there was someway of testing this theory without having an AdSense account. From when I was working for Discourse, I remember questions related to the AdSense plugin being difficult to answer.

1 Like


As Simon mentioned, I was out of the office…for the last 2 weeks actually. I’ve just returned so I’ll dig back into this and see if I can come up with anything.


Hey - no worries, was away myself now for the last 10 days! - let me know if you have any joy, clearly something not adding up above.

The old Google Analytics didnt read the page views correctly either, only GA4 seems to, so, there’s something up with Google really.

Is there any progress on the problem?

Doesnt seem like anyone cares, unfortunately.

As far as I can see Discourse is more geared towards corporate uses, as a support platform rather than small community websites which need to generate revenue.

I really like Discourse as a piece of software but I’ve sadly taken the decision to move to another platform as it seems to be impossible to monetize Discourse properly due to the SPA / dynamic page loads, they just seem to cause havoc with every ad system I try to use, even with the official ad plugin.

If any small publishers need advice on alternative systems feel free to get in touch, have some devs migrating my community from discourse to their system currently and the first demo looks like it is working well.