We had an excellent question in our MasterOps Community recently:
What are the best practices for a marketing campaign structure? Is there a gold standard for campaign hierarchies?
Of course, businesses must cater best practices to their business processes. Still, there are a lot of campaign configuration changes that can form a foundation for better marketing reports.
What’s a Marketing Campaign?

Before we dig into all of the ways you can slice and dice marketing campaigns, let’s spell out what a campaign record should represent:
A group of leads and contacts who are exposed to a specific marketing communication. At its core, a marketing campaign is a strategic plan aimed at promoting a product, service, or brand through various channels and tactics. It’s not just about broadcasting a message; it’s about engaging with your audience and ultimately driving desired actions.
Whether it is launching a new product, increasing brand awareness, or driving sales, a well-executed marketing campaign can be the difference between success and drowning in a crowded marketplace.
How to Create a Marketing Campaign
Creating a successful marketing campaign involves a mix of creativity, data-driven decision-making, and strategic planning. The first step is to define your objectives; this could include increasing brand awareness, driving sales, generating leads, etc.
Next, understanding your audience is essential. Know their needs, preferences, and where they can be reached. This will help you develop campaigns that address your audience’s pain points, interests, and aspirations. Select the channels and platforms that align with your audience’s behavior and preferences, such as social media, email marketing, search advertising, or traditional media.
The individual leads and contacts are each captured in a record called a campaign member. This child record is where we record how the contact or lead engaged with the campaign. For example, in an email campaign, a person may Receive, Open, Click, Unsubscribe, or Reply.
Sometimes we have an initiative that has multiple messages a lead or contact can interact with. We would separate campaigns by the different messages.
For example, let’s say we’re offering a free trial. To promote the free trial, we’re emailing our targets, driving traffic to one landing page through paid search, driving traffic to a different landing page through retargeting, and setting up a chatbot to engage people who haven’t filled out the form but have been on a general page (used for social traffic, direct traffic, and organic traffic) for an allotted period.
We would create a campaign for each email, each landing page, the main page, and the chatbot to capture demo requests. For the general page, we’ll leverage a different field called channel to capture UTM sources on the campaign member level.

Think Categories, Not Hierarchies
We’ve worked with companies that have created complex campaign hierarchies to help categorize their campaigns. Unfortunately, relating one record to another as a parent isn’t always the best way to aggregate information from a reporting standpoint, especially if there are multiple layers and inconsistencies in how the parent field is used.
It’s helpful to think of a field as having one utility. If you’re trying to squeeze multiple utilities into a single field, it’s too complicated for most reporting engines. For example, if you’re using the parent field to indicate two campaigns are related to a program or initiative and you’re using a topline parent to indicate the campaign type, you’ve muddled the meaning of the parent field. If you’re using a field to look at other campaigns, give it one purpose (such as linking multiple sub-campaigns to a single initiative or ad group).
A valid Campaign Hierarchy may look something like this (these are campaign names):

The 2021 Free Trial Campaign is the parent campaign, and each subsequent campaign is a child. We keep the naming convention consistent, but we would have additional fields on each individual campaign to track what the campaign type is and other specifics (more on that in a minute).
We don’t recommend creating a hierarchy like this because it is trying to indicate both initiative and type using a single field:

Adding multiple layers in a hierarchy means that you’re adding one more data layer for reports to navigate, which most systems don’t handle well. Instead, use hierarchies sparingly and think of larger ways to group campaigns by a single attribute.
Marketing Campaign Best Practices
Let’s talk about some useful ways to aggregate and analyze campaigns:
Campaign Type
Campaign types are the mechanisms by which the marketing message is delivered. We recommend creating a picklist on the campaign object, making the field required, and allowing users to select a single value per campaign. If they want to use more than one value (say, Email and Demo Signup), that is a big sign they should create more than one campaign.
We recommend creating as few campaign types as possible. This requires thinking about which delivery mechanisms you would like to separate to gauge different conversion rates and performance.
For example, we could create a type of “paid advertising”, but we’re probably going to be asked how paid social ads differ from paid search, which differs from retargeting. We expect these to convert at different rates and have different costs per lead, plus we’re using different tools/products for each category. This tells us we should create a campaign type for each of these subsets.
We often customize this list for our customers, but here are the campaign types we recommend:
- Account Based (ABM)
- Content Download
- Content Syndication
- Demo Signup
- Direct Mail
- Event
- Operational (designates campaigns not intended to generate Attribution/ROI)
- Paid Display
- Paid Search
- Paid Social
- Sales Outreach
- Referral Program
- Retargeting
- Webinar/Virtual Event
- Website Content
Channel
This may seem like a repeat of the campaign type, especially since marketers think of different tools or mechanisms as channels. “Channel” in this case is more nuanced.
Campaign type is a literal designation for the kind of mechanism delivering the marketing message at the point a prospect takes an action (hand raise) and is collected at the campaign level. For example, we may use Content Download for a piece of gated content, regardless of whether a paid search ad, email, or organic Google search delivered the person to the form.
Channel, on the other hand, is the mechanism that drove the person to the page before they took an action. It’s the compelling step before the hand raise.
Think of UTM parameters when you think of channels. When someone fills out a form, systems should be configured to snapshot the UTM parameters in the user’s URL string. The campaign is still “Content Download” but the channel could be Email, Paid Social, or Retargeting. Because of this potential variety of sources, we capture the channel at the campaign member level.
Here are the channels we recommend (although we frequently customize this list for customers):
- Direct: No page referrer, UTMs, or campaign IDs are found in the URL.
- Direct-Influenced: A person outside our company referred a visitor to a webpage.
- Direct-Revisit: A “Direct” visit that occurs after an initial engagement.
- Display Ads: UTMs tied to Google Display Ads.
- Email: UTMs have “email” or visits that are linked to a marketing automation email click.
- Event: Tradeshows and webinars are the “first engagement” of a visit.
- Organic Search: Has a page referrer of Bing or Google.
- Organic Social: Has a UTM or page referrer of Facebook or LinkedIn, but no campaign ID.
- Other: Has UTMs, but does not match a channel or campaign.
- Outbound Sales: First touch is a sales email. Or an opp is created with no touches.
- Paid Search: UTMs tied to Google Search Ads.
- Paid Social: UTMs tied to paid social advertisements such as LinkedIn.
- Referral: An internal employee refers a lead and adds a contact to a “Referral” campaign.
- Syndication: A UTM linked to a content syndication referral.
Program
Programs should be used when your team wants to see the total impact of a collective effort. We often see programs indicated as campaign lookups or the parent campaign field.
Examples of programs are large marketing initiatives (such as the free trial example we gave above) or advertising groups. For example, if you have a long-running family of paid search campaigns, this would be a great way to capture the effectiveness of different iterations of the same campaign and report on the total results from that strategy.
If I have a running multi-touch attribution ad group, I may have a campaign hierarchy set up like the following:
- Multi-Touch Attribution Google Ads
- 03.2021 GA: High-tech demographic
- 04.2021 GA: Marketing analyst persona demographic
- 05.2021 GA: Marketing analyst + high tech ad
Naming Conventions
People who have worked with UTM parameters know that naming conventions matter! Google Analytics views the world as case sensitive, so if team members have used email, Email, EMail, and EMAIL in their UTM string, this will show up as four different Campaign Mediums. This means your reports don’t sum up properly and are spread across multiple mediums.
**Gross.**
The most important thing about naming conventions is consistency. Pick some rules, roll them out to the team, and create reports to help you monitor who isn’t following the rules so the name can be fixed while someone still has a good idea of what the campaign was all about.
Personally, I like the campaign name to contain the month and year the campaign kicked off, an abbreviation for the type, and a unique description. It doesn’t have to be super detailed because I’ll use the description to fill in the blanks, but I want to know if the campaign has the right campaign type value and campaign member response codes just by looking at the campaign name.
If I’m creating a campaign for semi-permanent forms, like a “Contact Us” form, I still use the date the form first went live in the title. This helps me differentiate the versions and see which version worked best so I can use the same format on different forms throughout the website (if appropriate).
For example:
- 01.2019 DS: Contact Us
- 03.2021 DS: Contact Us
My team uses the initials of the campaign type, so I know if I select the second campaign, this will show me the results for a Demo Signup (DS) form on the Contact Us page that kicked off in March 2021.
CaliberMind Can Help
Here at CaliberMind, we are a team of marketers, marketing operations professionals, and business analysts who are passionate about helping our customers experience a painless data journey! Reach out to us today so we can help you with your marketing data analytics.