Digital marketing is full of data silos, where each platform owns only part of the story data. For example, Facebook will show you clicks and costs for your campaign, but you will have to go to Google Analytics to analyse Bounce rate or Pages / Sessions. Often you will have to switch between different platforms while analysing the same campaign.
With campaign naming inconsistency and poor structure you may have a hard time reporting, evaluating and acting on the data you collect. And without link tagging, you are losing the possibility to analyse your marketing activities.
Why do you need Campaign Tagging in Google Analytics
When a visitor comes to a website, Google Analytics automatically determines the source of the visit. So visits from Google search will be attributed to google / organic and visits from Facebook to facebook.com / referral. The first value is the source or the website, that led to the visit and the second is the medium, that describes the type of the traffic source. Clicks from websites will have the referral value, clicks from search engines – organic. If Google Analytics can’t determine the referral source, it would be attributed to direct / (none). Like when someone typed or copied the website address in the browser, or clicked on a bookmark.
Check this in-depth description of how it works if you already know the basics.
So what happens when you run marketing campaigns in AdWords, Facebook, local media portal or send an email campaign? Clicks that will originate from these campaigns by default will be identified as referral or organic traffic, mixing with the visitors that came not via the campaign. For example, facebook / referral will contain visits both from your organic posts and ads, google / organic – clicks from paid search campaigns and organic listing. Also, different campaign data will be mixed.
As a result, you won’t we able to properly analyse your marketing activity. To solve this, you need to use link tagging and send the right data to Google Analytics. For AdWords you should use auto-tagging, and for all other channels – add utm tracking tags. For that you can use this tool or create them manually in Notepad or Excel. Google Analytics will read those parameters from the link and use them instead of the default values to attribute the visit to the right traffic source and campaign.
While there are 2 mandatory tags – utm_source and utm_medium – I would also strongly advise to use utm_campaign as well, to be able to attribute and group visitors by marketing campaigns you run.
Why do you need Campaign Naming Consistency
Now when you know why link tagging is important, we can move to the next issue.
When looking at the campaign data in Google Analytics, you may see a picture similar to the example below.
Campaign, source and medium names are different, making it hard to analyse them. Same campaign have different name structures and you will have to spend quite some time cleaning and double-checking your campaign data.
Besides inconsistency, campaign names themselves also are not very clear. If you didn’t run those campaign, it will be quite a challenge to understand them. And if event you were the one responsible – not sure if you will remember what you were thinking about half a year ago when naming campaigns in this way.
To put things event worse, the campaign name on Facebook is different from Google Analytics value assigned by utm_campaign.
As the campaign names from Facebook and Google Analytics won’t match, once the data from both data sources will be exported and matched (with a help of Excel, Drive Spreadsheets or via automated data dashboarding & visualisation tools) it will look as in the example below. :(
And if naming and tagging done right, data will match and you could see the full picture of the campaign results. Much better, right?
How to do it right
If after the previous sections you understand that your data is consistent – great job, feel free to stop reading this article (you can still share it if you like). You are awesome!
And for those who stayed, don’t worry, acceptance is the first step to improvement and success. You can do it, just read further!
Step 1: Analyse the current situation
Check if current traffic source and campaign naming (Source, Medium, Campaign, Ad Content, etc.) is consistent and clear. Are there any requirements? For example, maybe some custom tracking parameters, specific utm values or parameters are needed for internal reporting.
This is an important phase that many ignore and mess up the data even more. There is no one ultimate solution that would fit in all cases. And if the current naming convention is consistent and clear, that is a good reason not to break it for some minor changes or personal preferences.
Step 2: Plan your tagging
Depending on your findings you may have different options:
2.1) Maintain current naming convention. Make sure your new campaigns are consistent with the existing campaign naming and tagging.
2.2) Maintain some part of the current naming convention, while developing additional or improved structure. Could be if in the current naming convention is good, but you need to implement some additional variables or changes.
For example, you can leave the source and medium naming convention if it is good enough, even if it doesn’t fit with your usual approach, but develop new campaign name structure. Or maybe append additional variables, while keeping the original naming structure. Or just fix the campaign naming used in Facebook or other platforms to match the Google Analytics data from utm_campaign or utm_content.
Remember that you can’t change traffic source and campaign data already saved in Google Analytics. With an only exception – if you change campaign names in AdWords (that is linked to Google Analytics), they also will be changed in Google Analytics. For all other channels this won’t work.
2.3) Develop and implement new naming convention.
Start with planning campaign structure and mapping variables you would need.
Variables could include:
- Ad Network. Google Display Network, Google Search, Facebook, Linkedin etc.
- Location. Countries, regions or cities, depending on your structure granularity.
- Goal. For example, to separate Awareness and Conversion campaigns for the same product. Or Different Goals, like campaigns to drive Subscription or Sales.
- Targeting. Prospecting vs Retargeting; Keyword match types;, Keywords, Interests, Lookalike/Similar audiences and etc.
- Month, Quarter, Year – if you have different campaigns for each time period.
- Product or Service Name and/or Category. When you have product or service focused campaigns.
- Name of the campaign. When you have campaigns around specific event, theme or message.
- Language. Content or targeting language or the campaign, if you run multi-language campaigns.
- Branded vs Non-Branded. To separate branded vs non-branded campaigns, mostly used for Search.
- Creative Type. For example, if you want to separate video vs image campaigns.
- Device. You may have different desktop and mobile creatives, messages, landing pages or separate budgets.
- Ad variations. Different image or text message variations. I would generally recommend to use it for ad set/ad group/utm_content, not campaign.
- Landing page. Different landing pages. I would also generally recommend to use it for ad set/ad group/utm_content, not campaign.
- Etc.
After choosing the variables you would need, make a list of possible values and the way how they will be written.
Example 1 – Always-on campaigns to promote digital marketing services.
Example 2 – Short-term awareness & traffic campaign to promote new Running Shoes.
I usually use lowercase for source and medium (since website names are usually written that way) and also ad set, ad group and utm_content – just to keep it simple.
If you want Google Analytics to assign the traffic source to the right Channel (one of the Acquisition reports, that groups all traffic sources) – check the Default Channel definitions. If it does not fit you, you can always create a Custom Channel Grouping.
For campaign name values I usually use PascalCase (first letter of each word is capitalized, no empty spaces. E.g., LongCampaignName) with UPPERCASE for the abbreviations (e.g., SEO, GDN, US, UK). Safer option would be to use lowercase of all, I just prefer to do it as described.
Also, to build campaign name you need to have a separator to place between the variables. My personal favorite is underscore (_).
Finally, decide on the sequence of the variables. Think about how will they look in a list when sorted by name, how you want to group them for reporting and analysis.
For example, if you plan to test and compare different targeting, second option (see below) would be more convenient as you can easily compare consecutive lines, not 1st line to 3rd.
Campaign names then would look like:
- Facebook_Analytics_Retargeting_3DayVisitors_US
- Facebook_Analytics_Retargeting_3DayVisitors_UK
- Facebook_Analytics_Interests_Business_US
- Facebook_Analytics_Interests_Business_UK
And full links with tracking parameters:
Example1: https://www.example.com/landingpage?utm_source=facebook.com&utm_medium=display&utm_campaign=Facebook_Analytics_Retargeting_3DayVisitors_US&utm_content=desktop_freeconsulting
Example2: https://www.example.com/landingpage?utm_source=facebook.com&utm_medium=display&utm_campaign=Facebook_11-2017_NewRunningShoes_Retargeting_Reach_Video&utm_content=m18-45_sports
Remember, that you would need to adjust utm variable values for each campaign, ad set/ad group and ad, depending on the structure you have.
For AdWords campaigns, if you have auto-tagging, you don’t need to add utm tagging, just ensure your campaign names are consistent with other channels.
These examples could be not the best options, just one of the way how to do it. For example, if it makes sense to have a different account structure, you could have targeting and ad content parameters on the ad set/ad group level and not using them inside the utm_campaign name, rather utm_content.
Sometimes you will find hard to plan ahead or after some time will learn that the structure you have is not sufficient. And that is ok, just find the best moment to change the naming convention (with a new major campaign launch or a new month) and do it. This, of course, would impact the data in Google Analytics as well as reporting. So think in advance and plan carefully before doing.
As a result, besides much better readability, easier filtering and management, you would also be able to group different variables for reporting and analysis. And of course, match data from different platforms and do custom calculations.
As a wrap up, some best practices for campaign naming and link tagging:
- Use naming convention. Very obvious suggestion, but some still ignore it.
- Analyse before doing. Evaluate the current situation before developing new naming convention.
- Plan first. Think about the campaign structure and how the data collected will be used.
- Have a documentation. Better to write down variables, possible values, separator and other details. Either you or other team members will eventually forget something and make a mistake. Document all changes and updates. (Am guilty of not doing this myself. You can do better!)
- Be consistent. Stick to the one naming convention developed.
- Keep it short, but meaningful and clear. Where appropriate, shorten variable values. At the same time, don’t use too much uncommon shortening. And have only variables you would really need.
- Always double-check for missing variables, typos, wrong case and other possible mistakes.
- Names and values are case-sensitive. Chose the case you find appropriate and stick to it.
- Avoid special characters and empty spaces – use only letters and numbers. If you have a dash (-) or underscore (_) as a variable separator – do not use them for the values.
- Think carefully about the order of the variables. Imagine how they will look in a list and how you would compare and analyse them.
Use link tagging for all campaigns. You can also tag links in the organic social posts or presentations. Use link shorteners to hide the long variable string. - DO NOT use link tagging for internal links. It will rewrite the original source of the visitor and create a new session.
By the way, you can (and should) also use naming convention for files, Google Analytics Filters and Segments and etc.
Additional materials on this topic I would strongly advise to read
- How to name your digital advertising campaign like a pro
- How Google Analytics attributes direct traffic and why do you still have visits from the Campaigns that ended a while ago.
- Creating Custom Channel Grouping in Google Analytics
There are also lots of good materials on utm tagging, just google it and read a few of them.
Have a different approach to campaign tagging and naming convention? Please share in the comments below.