Marketing Campaign Performance Tracking Checklist

Inappropriate campaign tracking makes it hard or sometimes impossible to evaluate results and find ways to improve performance. I would like to share some of my learning and suggestions on this topic. I will focus mostly on technical aspects of tracking, not touching more strategic questions, such as setting goals and expectations for marketing campaigns, ways to evaluate performance and others, that also are important.

1. Ensure your campaign structure and naming are correct and consistent

Unfortunately this is one of the most frequent issues and often identified too late, resulting in a few extra hours spent on data cleaning to make the report or analysis you need.

Common issues:

  • Inconsistent naming – different parameters and values within a single or multiple ad platforms, or, in marketing platforms and parameters passed to the website analytics, e.g. UTM tags. I have a separate article on why is consistent campaign naming important.
  • Misspellings – typos, single vs plural forms. Misspellings are unavoidable (at least I like to think so when make them), so just be attentive and double check all. And try to keep to either single or plural forms in your naming.
  • Different cases – I personally prefer using CapitalizedCaseWithNoSpaces or lowercase for campaign names and lowercase for everything else, while I would generally recommend keeping all in lowercase.
  • Non descriptive parameters – No, using values as “newcampaign” or “image2” is usually not a good idea. Try to come up with something more descriptive.
  • Misleading values – if you have an image ad with a name “video”, or campaign targeting both new clients and existing customers named “remarketing”, that is also definitely not a good practice.
  • Using special characters, such as |, (), {}, [],? and others. Some of them are used in RegEx and by having them in your naming, you may have troubles with RegEx filters in Google Analytics or other platforms. It is safer to use dashes and underscores as only special characters, along with Latin alphabet letters and Arabic numbers.


To avoid mentioned mistakes, especially with multiple people involved in marketing campaign setup, I would strongly suggest having a naming convention template in Google Sheets or any online UTM management tools. Define and write down the structure, values, formats and other requirements for naming and tagging. And make sure that everyone understands them. And of course, follow and fix improper usage, as well as adjust the requirements when needed as new use cases appear.

2. Check that tracking parameters are added and passed correctly

Even if you have a perfect naming convention, if that would ever be possible, it can be lost if not properly passed to the website.

Common issues and suggestions:

Tracking parameters not added. Rookie mistake, but can happen to anyone from time to time. For Google Ads, in most cases enabling auto-tagging is enough, but if you need to add some UTM or custom tracking, please use the Final URL suffix field and don’t add tracking on the ad level. Same for Bing Ads (Microsoft Advertising). For Facebook, use the URL parameters field. Keep in mind that in all the mentioned cases you don’t need to have ? before the parameters. If the ad platform does not provide a dedicated field for tracking templates, add the parameters with the destination URL on the ad level or wherever possible.

Adding tracking parameters after a hashtag (#) – Google Analytics, and most probably other platforms you are using, by default, will ignore the tracking parameters after the hashtag. So if you need to have the hashtag in the link, add if after the tracking parameters in the URL, not before. This article has this and several more issues explained in more detail.

Rely on utm_content and utm_term parameters and mainly use Google Analytics 4, as those are currently not reported in GA4. So make sure you have the data you need in other parameters. And probably it is still worth having Universal Analytics, where all will work fine.

Ensure that the Landing pages have all the tracking parameters in the URL when the page is loaded. This is also quite a frequent issue and often most unexpected.

Easiest and fastest way to check if the campaign landing page has redirects that truncate tracking parameters in the URL is to add a random test parameter to the landing page, e.g. If the page reloads and ?test disappears, most probability so will any other tracking parameters. If this is the case, reach the developers and ask to pass the URL parameters with the redirect. Or, if possible, use the URL that does not redirect to a different one.

Can suggest this website I like to use for redirect chain analysis and this Chrome plugin that shows redirects.

There can be exceptions with custom tracking, when certain data can be saved and truncated from the URL before the page load, but utm_ (Google Analytics), gclid (Google Ads), fbclid (Facebook), msclid (Microsoft Click ID) and other most common analytics and ad platform parameters should remain visible on the first page load after the ad click to work properly.

One more thing to consider – certain browsers, for example Brave, strip some known tracking parameters, e.g. fbclid, gclid, msclkid. Here is a great website to follow browser tracking protection initiatives.


  • Check the appropriate tagging is added in the ad platforms you are using. Some platforms, e.g. Facebook, provide previews, where you can see the full URL with all the tracking added.
  • Ensure the landing page has no redirects or at least they do not truncate tracking parameters.
  • When the campaign is launched – check Google Analytics real-time reports and also standard reports as soon as the data for the first day of the campaign is available. Same applies for any other tracking solution you are using.

3. Check that conversion tracking is working

Ensure you have defined key actions for the campaign and required events sent to all the platforms, Google Analytic Goals are set correctly and Google Analytics 4 Events are marked as Conversions. And for ecommerce, check that Google Analytics Ecommerce setup is correctly implemented.

If you have a new conversion event for the campaign – make a test conversion to ensure that all the tracking is working correctly.

And as you launch the campaign, follow the conversions on the first day to confirm that all platforms are reporting those.

4. Ensure the correct conversion attribution

First you need to understand what attribution is used and how it works in each ad and marketing platform you use.

For example, Universal Analytics uses last non-direct click attribution in standard reports and other attribution models can be viewed only in MCF reports, while Google Analytics 4 allows to change attribution settings. Google Ads attributes conversions to the click day, Google Analytics – conversion day. Google Ads conversion default conversion window is 30 days and can be adjusted up to 90, Facebook conversion window is 7 days. And those are just a few most common examples.

What can cause attribution issues in Google Analytic and beyond:

Self referrals – if you see your own domain in traffic reports, you should fix it by adding your domain to Referral exclusions in Google Analytics.

Payment gateways (e.g., Social logins (e.g. – those can appear as referral traffic, as often are the last touchpoint before purchase or registration confirmation, as a result, taking over conversion attribution from the source and campaign that brought the user to the website.

To fix it, regularly check traffic acquisition reports and look for referral sources with small visitor volumes while high number of conversion.

Adding to Referral Exclusion in Universal Analytics
Adding to Referral Exclusion in Google Analytics 4

Cross-domain – if a conversion action occurs not on the domain that the user visited initially, by default it will be attributed to that last website, not the initial traffic source. Why does that happen? Julius Fedorovicius from Analyticsmania has a really good explanation and guide to setup cross domain tracking for Universal Analytics  and Simo Avaha has a great cross domain guide for Google Analytics 4.

Email verification – when the conversion is tracked after the user is asked to verify the email, users may click on the email verification link from a different browser or app, so the conversion will be attributed to the last source / medium, not the one that brought the visitor. While there are some hacks how to fix it, I would suggest in this case either to focus on lower funnel actions, or use the API to send the conversions from the server (Measurement Protocol for GA, Offline Conversions for Google Ads, Facebook CAPI and etc.) and save the required data for proper attribution.

5. Connect all platforms and follow KPIs in data dashboards

By joining multiple platforms and automatically updating key data, you will be able to see any drops in performance or delivery issues in one place. Otherwise you will end up on checking each platform individually, writing down numbers to compare or overloading your desktop with multiple .cvs files and wasting time on data export and processing. Or will have no time for this and miss some important issues.

There are various platforms for data import, connection and visualization, such as Google Data Studio, Supermetrics, Datorama, Looker, Whatagraph, Klipfolio and many others. Some are free, most of them – paid, but I think it is possible to find one that would be suitable and affordable for various needs and possibilities.

And when connecting the data, I would suggest focusing more on trends, not comparing the numbers between various platforms. Spoiler, you most probably will never have exactly the same conversion volumes in different platforms, just because each has its own approach to tracking and attribution. But if you see that one platform performance trends significantly changed, most probably some attention is needed to investigate it.

In my experience, this often helps to identify and fix various technical tracking issues that otherwise сould be either noticed too late, or even unnoticed at all, and drop in performance explained with other unrelated cause.

Leave a Reply

Your email address will not be published. Required fields are marked *