Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ad Server Analytics - Measure Metrics (view, click, conversion) for Campaigns, Banners, Advertisers #6180

mattab opened this issue Sep 9, 2014 · 5 comments


Copy link

commented Sep 9, 2014

The goal of this issue is to implement Ad Server Analytics plug and play re-using the power of the Piwik platform. This is part of our wider vision to provide a generic analytics platform in #4734

A huge step towards this vision has been already achieved thanks the Contents plugin in #4996 - this allows rudimentary Banner Ads tracking with click tracking and CTR reporting.

The general idea is to make Piwik super easy to plug and play (add the JS Tracking code to your pages and that's it!). Maybe we could test Piwik on an existing popular ad server technology such as
Revive Ad server analytics, or OpenX (discussed partly in #2232)

Random ideas and proposed tasks:

  • Ad server use case: the banner is displayed within an IFRAME
    -- there will be limited functionality in the iframe. Create test to check that Contents tracking works as expected.
  • get banner conversions rates reports for Goals and Ecommerce, aka. "Clicks are great but are they converting?". maybe related to #2669. feature needed seems to be "Process the contributions of a given Events to any Goals" and "Was a particular Goal converted after this Banner Click"
  • track the placement of the ad on the page
    -- a banner displayed on the top left will likely have 10-20% more clicks than the next banner on the right.
    By tracking the position on the page this could help explain some of the differences in CTR
    -- track when ad was "hovered" when the mouse has hovered onto it
    -- track how long the ad was viewed
    -- rack how long the ad was interacted with (hovered or clicked)
  • Report Banner visibility, ie. Above the fold ad VS below the fold
    -- ad is "viewed" when 75 percent is displayed, either above the fold or after scrolling
    -- tracking this as a custom Variable on the Impression Event
    -- reporting: there would be two new columns "Ad was visible (Above fold)", "Ad was hidden (Below fold)"
    -- TBD

Please comment if you are interested in Ad Server Analytics technology!


This comment has been minimized.

Copy link

commented Sep 30, 2014

Sounds like a great idea and will definitely keep an eye on progression.


This comment has been minimized.

Copy link
Member Author

commented Nov 11, 2014

Piwik can be used to track which users see a given text banner or image banner, and can also measure how many people click on each of those banners. It collects the data automatically and will report the Impressions, Clicks, Click through ratio CTR in the Actions > Content report. Learn more about the awesome feature Content Tracking


This comment has been minimized.


This comment has been minimized.

Copy link

commented Dec 28, 2015

It would be great to if there can be functionality to provide reports and statistics at site-variable level ( Banner limitation ) in Revive Adserver.

@mattab mattab modified the milestones: Mid term, Long term Dec 5, 2016


This comment has been minimized.

Copy link
Member Author

commented Jan 14, 2019

We got a request today from a user who run an Ads server.

They want to track how many times an ad is displayed in their publisher's websites (Ad Impression) and how times these ads are clicked (Ad Click).

Maybe the easiest way is to use Content Tracking?

But In the context of an adserver, showing an ad in a third party publisher website is like a pageview. So maybe users prefer to use the standard metrics like "Pageviews" to track Ad impressions (since they only use Matomo to track Ad impressions and clicks and not actual pageviews).

So if we were to use standard features to track ad impressions and clicks:

  • Ad impression tracking, the easiest is to track a pageview using the default Matomo trackPageView in JavaScript when the ad loads in the web page.
  • Ad click tracking, we have several options:
    • The Ad click URL will go through the Ad server to redirect user to the ads URL. So one solution is to track the Ad click directly from the Adserver script (which issues the redirect). To track the click in this way you need to send an HTTPS request to the Matomo Tracking API. to record the click (using for example a custom event, or a goal conversion). And also make sure you use QueuedTracking to make sure that Tracking API requests return very fast. But tracking the click in the Ad server directly can make the redirect to Ad URL slower (even though Matomo Tracking API returns very fast with QueuedTracking, it still is slower than not tracking)...
    • in most cases it would be easier and faster to track the Ad Click using a JavaScript call for example trackEvent or trackGoal or both.


  • I'm not sure is whether the Ad clicks should be tracked using Custom Events, Goal conversions, or both...
  • Also need to make to use alwaysUseSendBeacon so the click tracking works in all (most?) cases
  • It would be great to create an FAQ or update our existing FAQ: to mention the alternative way to measure ad impressions/clicks in Matomo.

Any feedback welcome..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
3 participants
You can’t perform that action at this time.