Why your agency reported conversion numbers are different vs what you record internally

Your wonderful media agency have sent you a report to show the performance against the campaign which went live last week. In this Excel report (or a data studio dashboard); you see a TAB for every single channel under which the standard (mostly lame) metrics are reported with conversions & cost per conversion for every single line item of the plan.

The report shows a conversion number which is like 300% higher than you see in your Google Analytics account against that entire campaign.

Did you ever faced this scenario? Well I did, several times for my digital analytics and media clients here in UAE and other parts of Gulf region.

So why this could be happening? Why the numbers in the agency report seems to have this discrepancy?

You need answer in one word then it is beacuse of “attribution” and if you need a longer explanation, then continue reading.

Let’s take an example of “Joe” who signed up for a credit card on a fictious “Bank” website.

In the above example;

  • Day 1: Joe sees an ad served through Google Ads and he decided to click on it to find out more. When he landed on bank’s website he got added into various re-marketing lists which tracked his onsite behavior. He left the website after reading about the bank’s offer.
  • Day 2:  He sees an ad promoting same offer in his “Facebook ads” newsfeed but he didn’t click on it, he kind of just browsed through. Later in the same day, he sees the ad in his Twitter feed but again he didn’t bother to click on it.
  • Day 2 continued: This time he was re-targetted through “Programmatic” while he was reading a news article on BBC website. He is still not ready to click on the banner ad to go to the bank website to read the same information again (yeh consumers do notice that).
  • Day 3:  Another day passed, he finally decided to apply for the card as he was planning to buy a gift for his wife and the cash back offer of the card was helpful in that case. So he decided to Google the name of the bank > Click on the Google Organic result > Visit bank website > Submited his details on the Credit Card Lead Form and then just wait for the bank to call him back

Against above user journey, in your Google Analytics account you (may) record one conversion and your Lead management CRM would capture one lead. That’s the true number.

However, your agency ran this campaign through multiple ad serving platforms (Google Ads, Facebook Ads, Twitter Ads and the programmatic DSP DV360). So naturally your agency will pull the reports from Google Ads, Facebook Ads, Twitter Ads and Programmatic DSP (e.g Display & Video 360) and their ads ops or analytics will compile the report together for you.

The only issue out here is that this report would count 4 conversions instead of 1.

So what the heck is going on?

The bank’s website was tagged with individual pixels from all these platform so these powerful ad serving platforms could track conversions & optimize for best results which is generating more leads for the bank.

In our above hypothetical scnario, “Joe” sees or clicks the ad all the platforms and when he converted as a lead essentially every single platform is recording that data and they are claiming that this lead was influenced by them.

The ad serving platforms have no interest in what influence other channels have on this lead – they just care about themselves and in order for them to look good they attribute this lead to themselves. However, Google Analytics doesn’t do that (but it has other problems, I will cover that in a different blog post).

The majority of the issue appears to be happening because of “view-through” conversions which are basically recorded at the ad server level when a user just sees an impression of the ad but later decided to go to the website through “organic” for example and just convert. So there was no click (so no UTM info passed to GA) but yet conversion was recorded.

How different technologies count conversions?

In our example for “Joe”, he first clicked the ad on Google Ads. If you look at above table, the default Click lookback window for Google Ads is 30 days. This means that Google Ads will count a conversion up until 30 days after ad was clicked. It doesn’t matter if Joe clicked on any other ad in the mean time. So if Joe would have converted after 35 days then Google Ads would not have counted this conversion.

Similarly Google Analytics give credit to “last non direct click” so the attribution of Joe’s lead would reflect under “Google Organic” in Google Analytics. So when you compare Google Analytics reports vs agency reports you would immediately see a discrepancy apart from over counting in their reports.

So what is the solution? How should you read the data?

Well, it really depends on a lot of factors like;

  • What kind of business you are in, what is the product/service you are trying to sell.
  • Do you want to give credit to “impressions” or you just want to consider “clicks”
  • Do you have Google Analytics Standard or you have Google Analytics 360
  • Does your agency work with Google Campaign Manager or not, or maybe you own your tech stack etc.

I’ll consider a scnario where in you are using Google Analytics Standard and “impression” based conversion counting is a no-no for your business. Disclaimer: This is not the best solution but serves majority of the advertisers. Just like every business is different, the methodology for attribution is different.

The Solution

Step 1
Google Analytics: Single Source of Truth for you and your agency
  • Have a clarity with your agency that you want them to consider conversions only from Google Analytics
  • Discuss which attribution model you want to consider in Google Analytics (default last non direct click, first click, linear, etc)
Step 2
Well Structured UTM Tagging: Develop a structured UTM tagging guideline for your company
  • Your agency should be using a well structured UTM tagging across all the media buys so they could associate the conversions back to their ad server to lowest granulartity possible (campaign, ad set, creative, copy, etc)
  • Ensure that the discrepancy between “clicks” and “sessions” in Google Analytics is as minimal as possible. Usually a 10% discrepancy is acceptable range.
  • Time to time do a health check on the data in GA captured in GA based on UTM tagging so it is inline with your guidelines
  • Fix the channel groupings in Google Analytics to match your UTM tagging guidelines
  • Ensure that UTM tags are implemented across all channels including Paid Search, SMS, etc.
Step 3
Agency Reports: Media data from Ad Servers & Conversion data from Google Analytics
  • Agency should only download the media data (impression, clicks and spends) from all ad servers broken down in the same way the UTM tagging was applied
  • Download the “Conversions” data from Google Analytics based on the agreed attribution model
  • Match both data sets to calculate the “cost per conversion” against every platform

With a well structured approach, this process can be automated in a dashboard one time so no one has to do this data matching every day. 

It might sound typical but trust me it isn’t. Discuss this with your agency and let me know how did it go in the comments below.

Go fly now.

Get In Touch
Got a problem? We would love to solve it!

To find out how we can assist, call us on +971 55 5377880, email us on hi@digitalks.me or just complete the below form.

    Read More
    Mohit J October 9, 2019 0 Comments

    How your website is leaking precious data to agencies & affiliates and how to prevent it

    Your business has a website and it helps you collect leads or sell products. You work with one or multiple agencies to drive traffic and conversions to your website. The little pieces of tags on your website inform your agencies which campaigns or ads are working best or worst. Sounds familiar? Well, most likely your website is leaking data already.

    Let’s first understand what is meant by data leakage?

    In our definition, a data leakage is:

    If the data from your website or mobile app is going to places which (i) are not under your direct control, or (ii) under you direct ownership, or (iii) to a data repositery such as a technology not behind your legal obligation or (iv) where you lose your sight on this data under some circumstances

    How does it happen?

    Let’s take an example from a leading Automobile dealer website in the UAE. On their website, there are 3 different Facebook pixels, most likely from one or multiple agencies they work with:

    Facebook Pixel

    By system design, a Facebook pixel is associated with a Business Manager or an Ad account. If these pixels are generated from a Business Manager or an Ad accounts owned by their agency which is most likely the situation in most cases then all the data (conversions & audience data) is going to the agency business manager and you as an advertiser can’t own this data.

    Facebook doesn’t allow sharing of Pixel with other “Partners” incase you share your own pixel with your agencies. By no means I am saying that you can’t trust your agency but it is all about just protecting your own interest and owning your own data. You still give your cheque book to your accountant but most probably “unsigned”.

    When the situation comes to part ways from agency you lose all this data to your incumbent agency and only they can decide if they want to “share” the pixel with new agency. The pixel ownership can’t be transfered as of writing this article.  Apart from you already gave the ability to your incumbent agency to do whatever they want with your data.

    Another example - when working with multiple affiliates

    This is another example from a leading Real Estate developer website. The user journey on their website looks something like below:

    In this example, all three affiliates are able to capture data (“cookies”) of everyone who is visiting their website, everyone who is going to “Lead Form Page” and everyone who is going to “Thank You” page. These guys could use this data in whatever way they want because it is given to them as a gift by this real estate company without even knowing about it.


    It is alright for affiliate to know what happens to the traffic they send to the website but not for every single visitor who comes to your website from any traffic source. This is pure gold mine for them.


    I don’t know about you but I always wondered how affiliates are able to generate leads at a lower cost even by taking the risk of committing the CPA before hand against the performance agency managing Google and Facebook media buys?

    How can you prevent this to happen on your website?

    Every website requires a different approach based on the tracking situation on the website but below points will give you some directions.

    Passing data to 3rd parties & affiliates

    This is most common issue that we see around. The solution is easy to implement if you are using a tag management technology such as Google Tag Manager.

    In theory the solution is to trigger only those tags of that particular source that brought the click to you. This requires some custom scripting from your Google Tag Management team or your agency if they are managing the GTM for you to capture the utm_source information and then accordingly trigger the tags when a conversion is recorded on thank you page. This is not a out-of-box feature in GTM but someone who knows a bit of scripting could achieve this. It is possible to custom code some attribution logic into it too.

    This will ensure that the affiliates receive this conversion signal back for the traffic they sent and not everyone on your website. By implementing this solution alone maximum data leakage can be stopped immediately.

    If you are not using a tag management technology then your website developers would have to custom code this for you. Although we strongly recommend you to use Google Tag Manager for managing tags on your website.

    Passing data to Google FloodLight Tags (DCM tags)

    If you are a GA360 customer then you should not allow implementation of FloodLights pixels on your website as your agency could simply integrate GA360 with their Google Campaign Manager (previously DoubleClick Campaign Manager). This integration means single cookie-space and better accuracy.

    If you are not a GA360 customer then you can’t avoid FloodLight tags as your agency would need these tags to track audiences and conversions. However, getting access to a DCM account would at least help you keep a check how the FloodLights tags are getting utilized. Campaign Manager FloodLights tags are quite advanced as it also allow Piggy backing other pixels with it so you might only configure 1 FloodLight pixel but it could trigger 5 other pixels in the backend. Keep a watch on such piggy backing as this is another area where most the data leakge happens.

    Passing data to Google Analytics & Google Ads

    Contractually both Google Analytics & Google Ads account belong to clients or advertisers so frankly there is nothing much to lose when it comes to both of these technologies. In a scenario, you are migrating to a different agency or moving your teams in-house, always ensure to migrate the ad accounts to new agency or alternatively you could always reach to your Google Account manager who could  help you ensure you don’t lose any data to your agency.

    Hopefully you already an Admin on your own Google Analytics account, if not then you’ll need to request that access from your agency. Google will only support you for Google Analytics ownwership issue if you are a GA360 customer.

    Always use Google Analytics to collect the Audience data and conversion data which would be then passed to any Google Ads account. Do not configure Google Ads re-marketing or conversion pixel if you don’t own that pixel.

    Passing Data to a Facebook Pixel

    There are a number of things you need to do to protect the data that you could lose by implementing a Facebook pixel on your website.

    • Ensure that you manage all Facebook assets such as Pages, Instagram handles, Pixels, etc under incredibly powerful “Facebook Business Manager”. This Facebook Business Manager should be under your direct control and not your agency.
    • Create a Pixel from this Business Manager and configure this Pixel on your website, hopefully through your tag manager.
    • Add your agency as a “Partner” under your Business Manager and give them access to this Pixel. If you have multiple agencies then repeat this step for each agency.
    • Ensure that only 1 Pixel is implemented across your website and if you have multiple websites then you could share this pixel on multiple sites or you could create a pixel for each of your website. Business Manager allows you to create up to 10 Pixels per Business Manager (and 1 under every single Ad account created by the agency). All of this is possible through Facebook Business Manager.
    • If you are an eCommerce company, you might want to ensure that you own the Product Feed too under your own Business Manager and then that feed is shared with your agency or agencies.

    Do you still need some help? Get in touch.

    Speak with a Digitalks consultant and we could help you ensure that all the data owernship is with you as a client and not with your agency. We have extensive experience in this area and have helped many clients own their own data and prevent this data leakage to happen on their website or a mobile app.

    We offer best practice setups for Facebook Business Manager, Google Marketing Platform, Google Ads Account MCC Structing, and ensuring everything which could be connected together is connected the right way to prevent any possible data loss.

    Get In Touch
    Got a problem? We would love to solve it!

    To find out how we can assist, call us on +971 55 5377880, email us on hi@digitalks.me or just complete the below form.

      Read More
      Mohit J September 25, 2019 0 Comments

      DMP vs CDP – The Key Differences You need to Know

      The time has finally come. You’ve poured your blood, sweat, and tears into your most recent content piece, and it’s ready to be packaged up and sent to the client to be pushed live. After a few final checks and only…

      Read More
      Mohit J September 23, 2019 0 Comments