PubGuru supports revenue attribution in multiple areas.
What is UTM Tracking?
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:
- utm_source + utm_campaign
- utm_source + utm_campaign + utm_medium
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.
How to enable UTM revenue tracking
The publisher must include their PubGuru config on-page.
How to run profit attribution reports by UTM
In your app.pubguru.com account, visit Advanced Reports > Profit Attribution Report.
Can I track revenue by UTM in Google Analytics instead of GAM?
Although Google Analytics does offer limited support for revenue attribution, it does not include all GAM revenue and does not include any native.
My UTM is missing! What’s going on here?
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:
- Make sure that the UTM traffic is running on pages that have the PGHB config. We cannot track impressions on pages where our tech isn’t running.
- Make sure you have received non-negligible traffic to the campaign, and it’s been more than a few minutes since the first time the first session was trafficked on the campaign.
- Check your UTM KVP coverage. If you’re at 96%+, then the campaign has negligible traffic. If your coverage is lower or the campaign is substantial (50k+ sessions over multiple hours), please notify our solutions engineers.
I can’t accept 99.8% coverage. I need 100% coverage! How do I get this?
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.
Should the UTM KVPs be freeform or predefined?
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.
Why don’t PGHB revenue and GAM revenue match?
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.
Why are most of my impressions are being attributed to a UTM value of “/empty/”?
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.
What’s the max number of UTMs I can have?
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!