Naming Conventions is by far my biggest pet peeve as a digital marketer. There is nothing worse than working with an existing structure that is confusing, disorganized, and underperforming because of it. Naming conventions is an important topic, especially in big accounts or if you are running cross-channel campaigns because it lays the foundation of how your reports and campaigns will be built and optimized.
However, it is often overlooked, which can make your and your client’s life an absolute nightmare.
Therefore, in this guide we will cover:
- What to consider to add to your naming convention before launching new campaigns
- What is a parameter, a field, a separator, and an anchor
- Guidelines and best practices
- A basic structure for you to follow and put in place in your campaigns
- Big account restructures and misleading data
In this guide, we will focus on campaign naming conventions and use mainly Google Ads examples but you can use the same principles to name ad groups, audiences, labels, and so on.
To fully understand the importance of what I am about to share with you, try and picture yourself as a big cross-channel brand with loads of products, brands, or verticals. If I give you an example with 5 campaigns multiply that by 100.
Considerations
Having a good naming convention is all about having control and fully understanding how your operation works.
There are 2 main things you need to consider when looking into campaign naming conventions:
- Campaign management
- Reporting
In both cases, you should be familiar with the unique settings and metrics that are available at each level, including the campaign level, keyword level, and so on.
Campaign Management
You will need to consider trade-offs between going with a granular naming convention (thus a granular campaign structure) or broader naming convention. The more granular approach allows you to have more control and likely be more efficient while a broader approach might be less efficient but allows you to make changes rapidly and manage your account with fewer resources.
Always consider how you will manage budgets.
Take Google Ads, for example, the 2 most common settings in Google Ads that are available only at campaign level are setting budgets and setting locations. Therefore, think beforehand how you want to control spending or report on your location’s performance. Every time you must have full control over your budget over a specific targeting option you need to create new campaigns (for example, create one campaign by country to be able to allocate spend at the country level).
You can optimize your account by just managing budgets. A PPC common practice for example is to create separate campaigns by match type in order to allocate more spend to exact keywords. Therefore you would need to put the match type in your campaign name.
On the other hand, let’s say you are considering breaking down your campaigns by demographics because you want to bid higher to your female audience. It might make sense if you have few campaigns but it might be too much work for little gain if you have thousands of campaigns already. Because in Google Ads demographic bidding can be applied at ad group level you might not need to create new campaigns. In this case, you are trading a lack of budget control for an account that is easier to manage (at least 50% fewer campaigns).
For reference, some of the most common metrics that are available only at campaign level are Impression share and Auction Insights metrics. Imagine you run ads for different products (for example, you are promoting beds and chairs). Would you need to see who is competing against you for each product? In that case, you need to break each vertical into a separate campaign.
So, try to picture in the long run how you would like to run your campaigns and consider the cons and pros of each approach, this will have an impact on your naming convention.
Reporting
Many accounts only need to report overall data that can be fetched from your campaign names. Therefore, think of what are the things you will need to report often and consider if it would not be easier to add those things to your campaign name.
However, this is not to say that you can not grab reports at different levels like ad group, keyword, labels, ad set (Facebook), line (programmatic), and so on. As we mentioned before, some metrics are only available at specific levels and they can be important for you.
Nonetheless, it can get very complicated very quickly if you need to grab your data at such granular levels, especially if you run ads across many channels and need to link very big amounts of data from different sources. Also, consider if you have the technical skills to link all of that data or the tools for it. If you are using Excel to report on overall results you will probably want to avoid having massive files full of data that will crash your Excel doc or make it very slow.
So, usually, the main things that you really want to report on should be included in your campaign name. For example, separate your campaigns by prospecting and retargeting or separate your campaigns by country or vertical.
No matter how you want to proceed, you should always clean your data first because it is possible that you made a naming convention error which is breaking your report, or maybe you did not manage to come up with a naming convention that suits your needs.
Finally, and often overlooked, always think of what actions you can take with that information. If there is no reason or action that you can take with that information just do not break down your campaigns further.
Parameters, Fields, Separators, Anchors
Your naming convention is made of parameters, fields, separators, and sometimes by anchors. If, for example, you change the order of your parameters or if you drastically change your field names you change your naming convention.
Naming convention example: _[Country]_[Product]_
Parameters
The description of what a field represents and what is the common type of information you are trying to get (for example: Product).
The actual parameter name is not present in your campaign name but it is present in your naming convention. This will help you organize your thoughts and plan how to manage your campaigns. Note that 2 different parameters can be used in the same place in your naming convention but never at the same time (see below). For example, you can use [Match Type] parameter for your search campaign but match type is not something applicable for Facebook so you could use [Audience] parameter instead. Therefore, your naming convention could look like:
Separators
Characters that can only be used to separate parameters/fields.
In most cases, you can do a quick text-to-column in Excel to break down each field into a different column (each column represents a parameter) and use that data to create your pivot tables. Choose only 1 character as your separator and stick with it.
Fields
The values assigned to parameters.
The actual field values are present in your campaign’s name but not in your naming convention. By looking at a field name you should know a specific characteristic of your campaign. For example, if your campaign name is _USA_Chairs_ you know this campaign is running in the United States and is promoting chairs. In this case, you have 2 fields: USA and Chairs and parameters are Country and Product.
Anchors
Used to either help you filter for things or to make it easy to clean your data.
They are not mandatory but should always be used if you have different fields with the same name that belong to different parameters. We will go into bigger detail later but look at the 2 campaigns below. In this case, we are using 2 anchors: 1- & 2-
Naming convention: _[Country]_1-[Product]_2-[Brand]_
- Campaign1: _US_1-All_2-Brand A_
- Campaign 2: _UK_1-Chairs_2-All_
Let’s pretend you will run bed and chairs ads in the USA and the UK
So, looking at the example above the parameter [Country] has the following 2 fields: USA, UK. While the parameter [Product] has the following 2 fields: Beds, Chairs. With this in mind you could decide to come up with the following naming convention and use underscores as your separators (note that in this case there are no anchors):
Naming convention: _[Country]_[Product]_
Which in turn would lead us to a total of 4 campaigns:
- _USA_Beds_
- _USA_Chairs_
- _UK_Beds_
- _UK_Chairs_
You might have noticed that we are using separators both at the beginning and end of this naming convention. The reason we do that is so it is easy to filter for what you want.
For example, let’s say now you will also start to promote bedsheets. If you filter by Beds you will get the following 4 campaigns
- UK_Beds
- USA_Beds
- UK_Bedsheets
- USA_Bedsheets
However, if you use your separators at the beginning and end (so like this: _Beds_) you would be able to filter for your Beds campaigns. By removing your separators at the beginning and end of your naming convention you will make it more difficult to filter for what you want.
Let’s add another level now and break down your campaigns by brand.
Your client says that for the USA campaigns they need to look at performance by product and that in the UK they need to see performance by brand. You could decide to create only the following campaigns:
- _USA_Beds_All_
- _USA_Chairs_All_
- _USA_Bedsheets_All_
- _UK_All_Brand A_
- _UK_All_Brand B_
If you do this and filter by “_All_” you will partially lose the ability to filter within a particular parameter. This might seem irrelevant now since there are only 5 campaigns so it is easy to find a way around but what if you have hundreds if not thousands of campaigns?
In this situation, you could give different names for the “All” field depending on each parameter. For example, for the product parameter, you could use _All_ while for brands you could use _Everything_
If you still decide to go ahead and use the same field value for different parameters than you should incorporate an anchor in your naming convention. Taking the example above we could change our naming convention to:
_[Country]_[Product]_B-[Brand]_
- _USA_Beds_B-All_
- _USA_Chairs_B-All_
- _USA_Bedsheets_B-All_
- _UK_All_B-Brand A_
- _UK_All_B-Brand B_
In this case, your anchor is B-
By doing this, you could keep using All as a field name in both the Product and Brand Parameters. However, now whenever you want to look for something within the brand parameter you know that you need to start with your separator plus your anchor: _B-
Another practical use of an anchor is to help you clean your data. For example, consider you have 2 campaigns, one is for search and the other for Facebook. In search, you are using many more parameters that are not applicable on Facebook so your Facebook campaigns will have a much shorter name.
If in your report you prefer to see the audience performance in the same columns than exact In this case you could use the following anchor: “1-” and with the help of some formulas put your audience in the same column as the Match Type.
Guidelines and best practices
- Be consistent
- If you can not put your naming convention in writing, at best, you have an uncompleted naming convention
- You must be comfortable to look at your campaign/ad group/ads/etc and understand which settings you are using and what goes where
- Try and put a structure in place that is scalable and manageable
- Keep track of specific characteristics of your naming convention. For example, if you use abbreviations, make sure everyone knows what each abbreviation means.
- Take into account character limits for your campaign names
- Choose if you will type in UPPER, lower case, camelCase, or PascalCase (at least make a rule for each parameter).
- Choose singular or plural (chair or chairs, desk or desks)
- Make sure it is easy to filter for what you want
- Whenever possible, avoid having both broad and granular field names in the same parameter (for example, having All, Chairs and Desks).
- If you do that it means that you can no longer see more granular performance at a higher level. For example, if in your USA campaign you broke down campaigns by products but in the UK campaign you did not (and used All instead for your product parameter), then you will not be able to see overall product performance from campaign level (so no auction insights, for example).
- Avoid using “special characters” like: *.?|&.
- Without wanting to go into too much detail, those characters can perform different functions in certain programs such as Excel and SQL which will make you scratch your head when doing a Vlookup just to find out you are not getting the result you wanted, for example.
Basic Structure
If you are an agency, it is advisable that you make sure your clients all use similar naming conventions in order to make it easy to assign people to different clients either in case someone gets sick, you need to move people around, hire someone or in case you are trying to build some tech tool to be launched across your entire organization that looks at campaign names.
No matter what you do, your campaign names should follow a naming structure like this:
_[Agency Parameters]_[Universal Parameters]_[Common Parameters]_[Unique Parameters]_
From left to right you will want to make sure that the most commonly used parameters come first followed by less commonly used parameters. You will also want to try and make everyone use the same field names whenever applicable. For example, always use either USA or US if you are targeting the United States but avoid having some people using one and others using another one. Each one of your parameters can be categorized as:
Agency Parameters
If you are an agency you might be interested in looking into your clients’ results as a whole.
You could then, for example, take insights by vertical and use them on a case study or when pitching a new business within an industry you already know.
Universal Parameters
This refers to your specific client and are parameters you must have present in all campaigns no matter the channel you are using.
For example, your client might have told you that they always need to see performance by location or by prospecting and retargeting.
Common Parameters
Parameters that are similar across different ad types or channels.
For example, lookalike on Display and Social or keyword targeting on Google and Amazon (not 100% similar because on Amazon your keyword targeting might show your ad on a product listing rather than below search results like in Google).
Unique Parameters
Parameters unique to a specific channel, ad type, or campaign. For example, shopping priorities.
Note that some parameters can fit within different categories. For example, [Country] can be an agency parameter but also a Universal parameter. Same with fields, for example, Amazon automated targeting is kinda similar to a DSA if you think about it so you can consider it to be a unique or a common parameter depending on how you look at it.
Example:
- _Retail_Social_USA_PRO_LAL_
- _Retail_Display_USA_PRO_LAL_
- _Retail_Display_USA_PRO_SL_
- _Retail_Search_USA_NB_KW_EX_
- _Retail_Amazon_USA_NB_KW_EX_
- _Retail_Search_USA_NB_PLA_H_
- _Retail_Search_USA_B_PLA_L_
- _Hospitality_Search_USA_PRO_DSA_
- _Retail_Amazon_USA_PRO_AT_
Looking at the example above, notice that the first part of our naming convention is very simple and fields are very similar but it gets more confusing the further right you go.
Notice that some campaign names use 5 parameters while others use 6, this is because some parameters make no sense to be used. For example, [Match Type] and [Priority] are not applicable to Social, Display, DSA or Amazon auto-targeting (AT) campaigns.
You can also see that I have decided to use PRO (prospecting) and RET (retargeting) for Social and Display and Brand (B) and Non Brand (NB) for Search and Amazon. You could argue that a Brand Campaign is kinda similar to a retargeting campaign while a prospecting campaign is kinda similar to a non-brand campaign and that is why those parameters are set within the same column. I did not consider RLSA for this example, but if I did I could have used RET for RLSA campaigns and PRO for the other search campaigns, in which case I would have probably decided to go with a different naming convention like:
Notice as well that I am using many abbreviations. Therefore I need to keep track of what they mean. For example:
B – Brand => To be used when your keyword and pla campaign are targeting brand keywords.
RET => retargeting campaigns.
SL – Sitelist => To be used when you are showing ads towards a specific list of sites.
Account restructure and misleading information
Account restructure
Sometimes either you or the client might decide that you need to make an account restructure.
If your reports are dependent on your campaign names, an account restructure can often become a reporting and management nightmare because you know that you will be comparing apples to oranges if you decide to compare pre vs post account restructure performance in specific parameters.
In those cases, you need to keep track of what the changes were and when they were applied. Also, make sure your campaigns’ naming conventions are still consistent and aligned with whatever settings and targeting options you are using.
I am also of the opinion that if you are launching new campaigns it is always better to rename previous campaigns to match your new naming convention as close as possible. This will just make your reporting and operation work easier in case you ever need to analyze a large time period.
Misleading information
There are several ways in which your naming convention can give you misleading information.
The main reason is inconsistency. Therefore, if you are using your campaign names for reporting you should always clean your data first, this will allow you to reduce the risk of reporting inaccurate data and will let you know where you could improve.
Now I would like to give you some common examples that are usually linked with not following the best practices and guidelines mentioned before.
- For a specific parameter, you are using both granular and broad field names. As we briefly mentioned before, you could be looking at your chairs campaigns and see that they are performing great. However, you forgot that you have only broken down the UK campaigns into chairs and desks and did not do the same for the USA. Unfortunately, chairs’ performance in the USA is actually very poor so actually you are not meeting your chairs ROAS target.
- Your naming convention is not consistent. For example, some campaigns you named USA while others you named US but both mean that you are targeting the United States. US campaigns perform great but USA campaigns perform badly. If you forgot to look at both together you will have the wrong picture.
- Different parameters have fields with the same name. You broke down your shopping campaigns into high margin products and low margin products and by high priority and low priority campaigns (so 4 campaigns in total). In both cases, you are using the field _H_ to mention either high margin or high priority and the field _L_ to mention either low margin or low priority. You want to see how high margin products are performing and are a bit disappointed that they are not meeting target. However, this is because you filtered by campaign contains _H_ and pulled the low margin high priority campaign as well into your analysis.
Conclusion
Naming conventions are important because they will impact how you manage your accounts and how you report on your results.
They are especially important in big accounts or if you are running several channels at the same time. Therefore, you should avoid launching any campaign without thinking first about your naming convention.
Remember to be consistent and avoid giving the same name to different fields or use special characters. You will need to be able to filter for what you want and be sure that you know what your field means so avoid giving unclear names.
Naming convention is all about having control which unfortunately is not always possible. You might not be able to maintain a 100% consistent naming convention for many reasons or not respect some of these guidelines. However, you must always be in control of what goes into each campaign and your naming convention should help you accomplish that.
Author: Vasco Vasconcelos, Senior Account Strategist at Brainlabs