This post was most recently updated on March 21st, 2022
PubGuru supports revenue attribution in multiple areas.
UTM Tracking (short for Urchin Tracking Module) is a method of attributing revenue to traffic sources popularized by Google Analytics. GET variables are appended to the URL by the publisher and the publisher’s traffic sources. UTM tracking is set up by the publisher by manually creating UTM links here. For a more step-by-step process of how to set up UTM links and to best utilize check out this helpful article. Google Analytics will then display traffic acquisition stats by UTM.
Once the publisher has set up UTM tracking, MonetizeMore can enable revenue reporting by UTM. By default, we support revenue reporting for the following variables:
The max length of each value when combined cannot exceed 40 characters. This is a limitation by DFP.
MonetizeMore’s UTM profit attribution reporting allows you to get a breakdown of impressions, revenue, and eCPM by UTM parameter in DFP. We historically get coverage of 96-99.998% of impressions and revenue on mid-large publishers, including those who are frequently adding new campaigns.
The publisher must include their PubGuru config on-page.
In your app.pubguru.com account, visit Advanced Reports > Profit Attribution Report.
Although Google Analytics does offer limited support for revenue attribution, it does not include all GAM revenue and does not include any native.
UTMs are tracked as KVPs (Key-Value Pairs) in GAM. Before reporting that a UTM KVP is missing, please check your coverage for the date in question.
Coverage is defined as all revenue with that UTM key (e.g. “utm_source”) divided by all revenue using PGHB for the same date range. We typically have coverage at or near 100% on all UTMs by revenue.
For revenue tracking on a KVP, the KVP must be both attached to the impression and defined in GAM. We always attach the UTMs (if found), to the impression. If the UTM is not set, we pass up “/empty/” as the value for that UTM — this way we can differentiate between an empty UTM and an uncovered impression. An uncovered impression is when the impression fires but the UTM KVP is not yet defined in GAM. In order to make it so our publishers don’t have to repeatedly and manually add campaigns in GAM, we have a system that runs in the background that automatically adds KVPs to GAM, but there is a small delay of a few minutes in between the first time the KVP is seen and when GAM will record tracking on it.
One case where we have found that UTMs go missing is that the publisher acquires a small amount of traffic to a UTM in a small window, maybe a few minutes. After this, the publisher does not continue trafficking on that UTM. What happens here is that it takes a few minutes for the UTM to get picked up, added, and accepted by GAM. As a result, the UTM will now be in GAM, but no further traffic on it means there is nothing to report. GAM does not report prior traffic when a KVP is added later.
Before reporting that a UTM KVP is missing:
In order to get true 100% coverage, the publisher must go into GAM and add the KVPs before trafficking on them. This is so resource intensive that most publishers do not do this, and instead just rely on the automated system that gives near 100% for no additional effort.
Additionally, solving this problem doesn’t actually improve publisher outcomes. This case happens when the campaign was extremely short and small. In that scenario, the revenue data is not likely to be statistically representative of further traffic. Even a single impression can wildly swing the revenue for that segment of traffic.
This only matters if you’re trafficking line items to specific UTMs. Freeform allow you to target any value, while predefined forces adops to use an existing value. In both cases, the KVP cannot be reported on until its added.
Revenue always has multiple sources of discrepancy. Line items and header bidding should be trafficked at the actual rate paid, not contractual rates. So long as these are updated, this will close up.
We attach all UTMs on all impressions. If a UTM is not set, we attach the “/empty/” value to that impression so that we can differentiate between no UTM being set, and an impression getting passed up into GAM before it’s been added to GAM.
If you’re getting excessive impressions to a UTM with “/empty/” values, make sure you’re setting your UTMs properly.
This Google support page shows the current cap at 100k values per key. However, there can only be 30k active reportable KVPs total.
MonetizMore is a Google Certified Publisher Partner and can help optimize your ad inventory to maximize your ad revenue! Sign up today!
Here’s the course that 300+ pubs used to scale their ad revenue.