1. Knowledge Base
  2. Reporting
  3. Advanced Reporting Capabilities

Reconciling Google Analytics and Other Third-party Reporting


Getting Started

When using Google Analytics in conjunction with a programmatic advertising campaign, keep in mind that GA is intended to provide insight into trending and user engagement on your website as well as to track traffic sources and user behavior. Google Analytics is not an ad-tracker and should not be compared side-by-side to ad-serving platforms due to Google Analytics's technical limitations (such as non-unique pixel drops, page load times, etc). 

We have gathered some common Google Analytics and Third-party Reporting discrepancies that you could experience if you are evaluating performance between Choozle and other systems. 

Reporting Discrepancies

The following is important to keep in mind when comparing Google Analytics with Choozle (or any DSP):

We cannot accurately compare clicks (Choozle) with sessions (Google Analytics), as they are not the same metric.

  • Clicks indicate how many times your advertisements were clicked by visitors. Choozle counts clicks at the source (much like DCM).
  • Sessions indicate a group of interactions that take place on your website within a given time frame. Google Analytics counts sessions when a user hits the site, and sessions expire after 10 minutes of inactivity, with any subsequent activity being tracked as a separate session. 
  • There are several things that must occur before a session is recorded
    • When the click occurs, the browser points to the landing page.
    • The advertiser's website responds to this request and initiates data transfer from the webserver to the user's browser.
    • When the browser starts to download the landing page, there may be a request for several files at a time, including the Analytics tracking code.
    • The JavaScript file must first be downloaded and interpreted by the user's browser.
    • The user's browser and security settings must support cookies, JavaScript, and Images
    • Finally, the browser sends a request to the Analytics servers, and a session is recorded.
  • Clicks occur as part of the creative asset audit process.
  • As part of the Choozle Creative Asset Audit Process, assets are verified multiple times in advance of their addition to a campaign and throughout the campaign's flight. As part of this verification process, assets will be interacted with, which will show as clicks in Google Analytics. Some clicks may appear in advance of the campaign launch.

As a result of that whole process unfolding before a session is actually recorded, discrepancies could be caused by users clicking an ad multiple times but Google Analytics recording this as one session; by a user clicking your ad but hitting the back button before a session is recorded; or by users having JavaScript or cookies disabled. Furthermore, sessions in Analytics may not be recorded due to server latency, redirects, users clearing their browser cache, etc.

Discrepancies between Choozle and Google Analytics are completely normal because of the fundamental differences in reporting methodologies, however, both should follow similar trends. While there will never be a foolproof way to reconcile the differences between clicks and sessions, both can be used alongside each other to gain a clearer picture of how well campaigns are performing.

Moreover, Google Analytics does not count view-through conversions or site visitors from outside sources, making it hard to determine what exactly happens as a result of given marketing activity. GA tracks the source of the traffic, but not the cause of that traffic. For example, if Choozle serves an ad to a user and they later come back and search for your company, Google will attribute the conversion entirely to the search without attributing any credit to the display ad that they were originally served. Rather, Google Analytics only tracks view-through conversions through GDN and YouTube and if you are running DoubleClick for Advertisers. Consider appending UTM codes to your click-through URLs listing Choozle as a source for more accurate click-through conversion tracking.

Therefore, it is important to maintain a campaign-centric view, which can provide more insight and a more cross-channel, holistic picture than simply attributing conversions to a single channel. In addition to major conversions, it's worth tracking customer loyalty and brand identity. For example, what happens after the conversion? How does branding influence your direct organic search traffic from branded keywords?

Bounce Rate Discrepancies

We hear from some clients that they are specifically looking to reconcile the CTRs from Choozle with the bounce rates from Google Analytics. Google defines bounce rate as the portion of visitors who enter the website and leave before navigating to another page. A typical bounce rate will vary from site to site, but it's not unusual to see average bounce rates of 60%-80%. A bounce can be a result of click-through URL content poorly aligning with the targeted audience or the content of the landing page not having all the necessary information for the client's engagement. This means that the session in Google Analytics is only counted when someone has not bounced or visited two or more pages on the site. Choozle considers impressions served and clicks-through when the action has been taken, not some second action.

Furthermore, if a fair number of clicks or visits are originating from google.site-not-provided on detailed reports, that indicates that Google could not identify the site on which the ads were served. If Google cannot identify the site, it is possible that they also would not be able to identify when the user enters or exits the landing page(s)/website (which is how Google determines bounce rate and session duration). When this happens, Google Analytics by default reports the page session duration as 0 and marks it as a bounce. If this holds true, then any portion of clicks coming from google.site-not-provided would be recorded as 0 session duration immediately.

Geolocation Discrepancies

Our geolocation provider is MaxMind, a service that maps IP addresses to cookie profiles by referring to data from a variety of sources, including their own, independently-collected data from their miniFraud network and large corporations who pass millions of actual end-user locations to them daily. Thus, they know exactly where many IPs are located in virtually real-time with an estimated 99.8% accuracy rate. Furthermore, our exchange partner completed an extremely thorough three-point analysis to match IPs to geolocations, which all agreed with each other, and we are always refreshing and updating our geolocation database for accuracy.

While we can't speak to Google's data collection methods or overall accuracy, an important point to understand is that how the given computer or device is connected to the internet determines how Google Analytics sees the location origin of the traffic. For example, if a user connects to the internet through Comcast and the Comcast hub or server is in another location, Google Analytics identifies that location rather than where the page was actually, physically loaded. This will contribute to the seemingly erroneous location discrepancy. Therefore, the most accurate geolocation report is the report provided by the exchanges that shows the locations where the impressions were actually served and seen rather than where the ISP is located.

Additionally, as users travel around the Internet, their cookie profiles are constantly matched when possible, thereby updating their current geolocation. This is why, for example, a user in the UK who visits The New York Times website could be targeted by a campaign that is geo-targeted to the UK (regardless of the origin of the site itself).

Common Google Analytics Tips 

It is important to note that each client’s Google Analytics implementation will be different. We have gathered some general best practices but know your individual implementation can really dictate the ultimate success of tracking and reporting. 

Below are a few functions that can be used within Google Analytics to help ensure you are tracking accurate data and have optimal Google Analytics setup: 

Create Filters

Filters can be a great way to adjust the data that is coming into Google Analytics. A few best practices for filters are:

  • Create a filter that records ALL traffic including known spam, bot, and internal traffic so you have a backup of all your data. Filters change how your data is organized and collected, so if any future filters are created you want to make sure there is a backup! 

  • Exclude internal traffic, test traffic, partner testing, and third-party sites/tools traffic. Collect IPs addresses, hostnames, or referral URLs from all your platform operators as well as any partners to remove that traffic 

  • Exclude reoccurring spam/bot traffic that comes to your site. If you notice trends in your site traffic that suggest you are getting bot/spam traffic, you can proactively remove it from your reporting by using a custom REGEX filter. 

Example of a custom REGEX filter

For example, we have this language spam/bot filter applied to the choozle site to remove any traffic that doesn’t have the language defined.

The “language spam/bot filter” configuration:

  • Filter Name: Exclude language spam

  • Filter Type: Custom > Exclude

  • Filter Field: Language settings

  • Filter Pattern: [Language REGEX]    

  • Language Spam REGEX (Prebuilt): \s[^\s]*\s|.{15,}|\.|,|^c$

This same REGEX configuration could be applied to known hostnames where you would like to exclude the traffic coming from those sites.      

  • Hostname REGEX (example): yourdomain.com|hostname2|hostname3|hostname4

Additional Resources on Google Analytics

Create a Segment

Similar to filters, Segments can adjust the data coming into Google Analytics. The main difference is that segments can be applied retroactively and they do not adjust how data is collected. 

A few best practices for filters are: 

  • Using segments in Google Analytics is pretty much a must-have — it’s by far the easiest and most effective way to adjust, review, and take action on the data. At the very least, you should have segments for each level of intent — ranging from ‘viewed blog’ (low intent) to ‘reached the credit card step’ (high intent). 

  • Compare between converted and unconverted visitors by segmenting users who added a product to the cart, but did not make a purchase

  • Excluding traffic that happens as a result of Choozle’s validation and approval process. Create a segment that excludes traffic visited landing pages before the campaign launched. 

Example of a custom segment

The “Campaign Driven Traffic” configuration:

  • Segment Name: Exclude 

  • Segment Advanced Conditions: Conditions > Exclude 

  • Segment Filter: Sessions Exclude
  • Session Dates is between the date of uploaded creative - date of the campaign start date
    AND the pages contain /your landing page or Click-through URL within your creative
    If you need to apply pre-campaign creative uploads, you can create another Condition Filter for that time frame.

Additional Resources on Google Analytics

Using Annotations

Annotations are helpful to denote and share information related to key dates across all users in Google Analytics. These can be used to share campaign launches, changes to forms, etc 

Adjusting Session and Campaign defaults 

By default, Google Analytics sets Sessions to timeout after 30mins and campaigns to timeout at 6 months. This means Google Analytics will stop rewarding attribution to a specific campaign after 6 months. There is also the option to change this setting to customize the campaign timeout period ranging from 1 minute to 24 months depending on the business need. 

More detail can be found here:https://support.google.com/analytics/answer/2795871?hl=en

The length of a session and campaign depends on your site and business. Here are a few ideas to get you thinking about the session and campaign timeouts:

  1. If your site automatically signs a user out after being inactive for a certain amount of time, set the session timeout to match that length of time.

  2. Lengthen the session time if you have a lot of content and expect users to take a long time engaging with that content. Conversely, shorten the session time if the site has a small amount of content.

  3. Set the campaign timeout handling to the same amount of time the campaign is going to run or expected to be relevant. Clicks to a social media micro-campaign might not be relevant for more than a few days after launch.

Remove known bot/spam traffic 

Google Analytics allows you to ‘opt-in’ to the removal of known bot/spam traffic. It would be wonderful if this would take care of all bot/spam traffic. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." 

Go to the Admin section of your Google Analytics account and click on “View Settings”. You will find the option “Exclude all hits from known bots and spiders” below the currency selection.

Sites to block:




Block the below site for the first 2 weeks after a creative is uploaded only if the client is not running campaigns.