v0.dev
Resource
📘 The Ultimate Campaign Management & Hierarchy Guide
5/20/2025
A tactical guide for B2B marketing teams using HubSpot or Salesforce to structure, execute, and report on campaigns more strategically.
((A quick preface: I, by no means, claim to be *the* leading campaign expert and your scenario may be unique — this is my best attempt to create a global piece of knowledge to share, but I am very open to feedback! Also YMMV based on your CRM license level too, sadly.))
1. 🤔 Why Campaign Hierarchy Matters2. 🏗️ Campaign Hierarchy Structure: Salesforce vs HubSpot🔵 Salesforce Campaign Hierarchy🟠 HubSpot Campaign Hierarchy Workaround3. 🧾 Campaign Naming ConventionExamples:4. 📓 Key Fields to Track⭐ Core Fields (Must-Have)🟡 Optional but Valuable Fields🔵 Salesforce Tip🟠 HubSpot Tip5. 📋 Campaign Planning Brief Template6. 📊 Campaign Performance Metrics⭐ Core Metrics to Track📈 Roll-Up vs. Tactic-Level Tracking✅ Pro Tips7. ⚠️ Common Pitfalls to Avoid8. 🧠 Pro Tips for Implementation9. 📚 Additional Resources10. 🔗 UTM Parameters: Structure & StrategyWhat Are UTM Parameters?UTM Parameters to UseRecommended UTM FormatBest Practices
1. 🤔 Why Campaign Hierarchy Matters
Without a defined structure, campaign data becomes chaotic and impossible to measure. A strong campaign hierarchy:
- 🧻 Enables clean roll-up reporting (like webinar series > individual emails)
- 🔍 Helps with attribution and ROI analysis
- 🛞 Creates a repeatable, scalable system for execution
- 🌐 Makes onboarding and collaboration easier across large teams
2. 🏗️ Campaign Hierarchy Structure: Salesforce vs HubSpot
Salesforce and HubSpot have a lot in common, but one area where they differ is campaign structure and functionality. While Salesforce is more customizable, HubSpot relies more on the simple inbound marketing model for small businesses. I’m hoping HubSpot will invest in this area, but until then, you’ll need to approach campaign building differently in each system.
🔵 Salesforce Campaign Hierarchy
Salesforce supports native campaign hierarchies via the Parent Campaign field. Here's the common* 3-tier model:
Level | Name | Description | Example |
1 | Grandparent Campaign | Overarching initiative | Product Launch 2025 |
2 | Parent Campaign | Specific campaign type or sub-program | Webinars, Nurture Series, Paid Ads |
3 | Child Campaign | Individual tactic or execution | Email #1, LinkedIn Ad #3 |
❗*Note: Salesforce doesn’t have a feature that supports “grandparent campaign” and not everyone uses a grandparent campaign level, some keep it to just parent and child — but grandparent campaigns can be helpful if you are a large org, running a lot of parent campaigns across teams.
📚 Helpful resources:
🟠 HubSpot Campaign Hierarchy Workaround
As mentioned above, HubSpot does not support campaign hierarchies natively (you can group assets, but you can’t nest campaigns). BUT you can simulate them through consistent naming and metadata tagging.
Strategy | Purpose | Example / Link |
Naming Conventions | Signals hierarchy manually | 2025-US-Webinar-Q3Launch-InviteEmail1 |
Custom Properties | Define levels like "Program Type" or "Initiative" | |
Tags or Lists | Group related tactics for easier segmentation | |
UTMs | Track sources & campaign attribution |
🌲 Example hierarchy:
2025-US-Launch-Q3ProductRelease(initiative-level)
2025-US-Webinar-Q3ProductRelease-Series(channel group)
2025-US-Webinar-Q3ProductRelease-InviteEmail1(individual asset)
🛠️ Example custom fields:
Program Type→ Webinar, Paid Social, Email
Initiative Name→ Q3 Product Launch, ABM Pilot
Funnel Stage→ TOFU, MOFU, BOFU
📚 Additional Sources:
- HubSpot Community: Naming Convention Tips (this post helped me understand how a workaround could be done!)
3. 🧾 Campaign Naming Convention
A strong naming system ensures clarity, helps with filtering, and improves ease-of-reporting. Here’s a recommended format (listen, there aren’t rules here, if you don’t like this example you can reformat it however you like — the key here is to pick one format and stick with it!):
Examples:
2025-US-Webinar-Q3Launch-InviteEmail1
2025-EMEA-PaidSearch-DemoDays-GoogleAd2
2025-LATAM-EmailNurture-OnboardingSeries-Email3
👀 Use short codes if needed (i.e.,
NA or NAMER for North America, LI for LinkedIn)4. 📓 Key Fields to Track
Defining and tracking the right metadata at the campaign level is essential for reporting, automation, hierarchy alignment, and revenue attribution. These fields ensure campaigns are consistently tagged, easily searchable, and reportable across tools like HubSpot, Salesforce, and MAPs (Marketo, Pardot, etc.).
Below is a breakdown of must-have and nice-to-have fields for structured campaign operations:
⭐ Core Fields (Must-Have)
Field Name | Purpose | Where to Use |
Campaign Name | Human-readable, consistent with naming convention | HubSpot, Salesforce |
Campaign Type | Groups similar campaigns (e.g., Webinar, Paid Social, Email Nurture) | Custom field or dropdown |
Status | Tracks lifecycle: Planned, Active, Completed, Canceled | Native in both SFDC and HubSpot |
Start Date | Launch date for scheduling, automation, and filtering | Campaign setup |
End Date | Useful for reporting timeframes and archiving | Campaign setup |
Owner | Single point of contact or regional owner | Helps with accountability, tracking down history during M&A etc |
Region / Market | Enables localization, segmentation, and roll-up reporting | Especially in global orgs |
Channel / Source | Indicates primary channel or medium (e.g., Email, Social, Paid) | Can feed UTM generation/reporting |
Budgeted Cost | Used to calculate CPL, ROI, efficiency | Finance or campaign planner |
Actual Cost | Should be tracked post-campaign for true ROI | Manual entry or integrated tools |
Primary Goal / KPI | Defines success (e.g., 100 MQLs, 10 Opps) | Campaign brief + CRM field |
🟡 Optional but Valuable Fields
Field Name | Why It’s Useful |
Product Line / BU | Aligns campaigns to business units or SKUs |
Salesforce Parent Campaign | Enables native hierarchy in SFDC (roll-up reporting) |
HubSpot Campaign Tags | Workaround for hierarchy in HubSpot |
Content Theme | Allows thematic reporting like “AI,” “Security” |
Target Persona | Helps assess engagement by audience |
Funnel Stage | Indicates TOFU/MOFU/BOFU intent of the campaign |
UTM Set Name | Links campaign to UTM tracking template |
Language / Locale | Key for multinational execution |
Landing Page URL | Easily tie creative to destination (include this wherever you can — sales loves to be able to see this) |
Lead Source Override | Set expected source before campaign goes live (used in SFDC often) |
Playbook URL | If you have a playbook that you want sales to use for this campaign, link to it here — it makes it easy for sales to reference and is often the reason why sales doesn’t follow up with new channels (if a playbook doesn’t exist/they are unclear on how to handle the lead) |
Slack Channel URL/Planning doc URL | If you use channels or docs to organize campaigns, link to it here — makes it easier to find later on |
Imagine your company gets acquired and you have to help migrate your campaigns — what info would be helpful for you to have on each campaign? Don’t go overboard and add 100+ fields, but if there is something unique that would be nice to have readily available (vs. trying to track down later/under time pressure), add it in a custom field. Even if you are no longer at the company, it’s good karma for you and will garner appreciation from your ops peers. 🫶
🔵 Salesforce Tip
Use custom fields and record types to enforce required campaign metadata and support reporting roll-ups. Campaigns with missing fields = incomplete/misleading dashboards.
🟠 HubSpot Tip
Use custom properties, lists, and naming conventions to simulate hierarchy. You can also trigger workflows based on property values (i.e., auto-tagging campaigns by program type).
Regardless of which tool you use, if the functionality is there do make field values like campaign member status dropdowns (instead of free text) and do make critical fields required. If you leave all permissions loosey-goosey, there’s a good chance people will start to get sloppy again. If you want to look into automating some Salesforce campaign management aspects, Sercante has a great MarDreamin session on that here.
5. 📋 Campaign Planning Brief Template
Use this pre-campaign brief template to align teams and expectations. If you want to make this as easy to manage as possible, set up a form in Slack or Google Forms to collect this data upfront, as a campaign request comes in or is starting to be planned.
Field | Example |
Campaign Name | 2025-US-Webinar-Q3Launch |
Objective | 100 MQLs for Product X |
Audience | RevOps and Marketing Ops at mid-market SaaS |
Messaging Pillar | "Less manual, more momentum" |
Channels | Email, LinkedIn Ads, Webinar |
Tactics | 2 Nurture Emails, 1 Live Webinar, 3 Ads |
Timeline | May 15 – June 15 |
Budget | $10,000 |
KPIs | 200 Registrants, 40 Attendees, 5 Opportunities |
Owner(s) | Jane Doe (Marketing), John Smith (Sales Ops) |
6. 📊 Campaign Performance Metrics
Tracking the right performance metrics is really important. These metrics help you answer questions like:
- Which campaigns are driving qualified pipeline?
- Which tactics are pulling their weight?
- Where should we spend more (or less) next quarter?
Below are the most essential metrics to track across grandparent, parent, and child campaign levels:
⭐ Core Metrics to Track
Metric | What it Measures | Why it Matters | Where to Track |
Influenced Contacts | # of contacts who engaged with campaign assets | Gauges reach and early engagement | HubSpot Campaigns, SFDC Campaign Members |
MQLs Generated | # of Marketing Qualified Leads tied to campaign | Aligns campaign efforts to pipeline goals | MAP Reports, CRM |
Opportunities Influenced | # of Opportunities touched by campaign | Shows business impact beyond leads | SFDC Campaign Influence, HubSpot |
Response Rate | % of contacts who clicked/RSVP’d/opened | Indicates content resonance and CTA effectiveness | MAP Reports, Ad Platform Analytics |
Cost per Lead / MQL | Campaign spend ÷ # of leads/MQLs | Assesses efficiency of paid campaigns | Ad Platforms, Budget Tracker |
Pipeline Generated | $ amount of Opps sourced or influenced by campaign | Critical metric for ROI and board-level reporting | CRM, Attribution Reports |
Engagement by Asset Type | Views, clicks, form fills by content type | Identifies high-performing creative or messaging | HubSpot, GA4, Ad Tools |
Email Metrics (for child-level) | Opens, clicks, bounces, unsubscribes | Measures individual tactic quality | MAP Email Reports |
Attribution Weight | % of revenue assigned to each campaign touchpoint | Supports budget reallocation based on actual impact | Multi-Touch Attribution Tools |
Campaign Velocity | Time from campaign launch → first MQL/Opp creation | Helps optimize time-to-impact and align with GTM pacing | CRM, MAP, Project Tracker |
📈 Roll-Up vs. Tactic-Level Tracking
Level | What You Should Track |
Grandparent | Total influenced revenue, contacts, opps, CPL |
Parent | MQLs by channel, tactic mix, CTR, asset engagement |
Child | Ad-specific stats, email metrics, CTA click rates |
✅ Pro Tips
- Standardize KPIs in campaign briefs so success is measurable from day one.
- Use campaign naming conventions to auto-tag reporting groupings (i.e., all assets with
Q3Launch).
- In Salesforce, associate opportunities to campaigns via Campaign Influence Models for roll-up.
- In HubSpot, tie assets to campaigns and use multi-touch attribution reports for ROI insight.
7. ⚠️ Common Pitfalls to Avoid
- 🫠 No hierarchy structure. This will create messy, untrackable reporting
- 🫠 Inconsistent naming. This will create make it difficult to group/filter
- 🫠 No defined KPIs. This will make it hard to evaluate success or attribution
- 🫠 Siloed execution. This will create missed learnings and duplicate efforts
- 🫠 Not closing/completing campaigns. This will prevent wrap-up metrics
8. 🧠 Pro Tips for Implementation
- 😍 Create a campaign taxonomy spreadsheet to define program types, naming rules, and statuses.
- 😍 Where applicable, use workflow automation to apply campaign tags and assign ownership.
- 😍 Review campaign performance monthly or quarterly to identify trends.
- 😍 Build out standard campaign templates in HubSpot or Salesforce.
- 😍 Use Attribution tools (HubSpot’s Multi-Touch or Salesforce Influence) to understand campaign impact.
- 😍 Don’t jump right into the deep end — if you are still getting your campaigns together, you do NOT need to purchase an attribution tool. Wait until you feel confident about your data and hit limitations with the out-of-the-box HubSpot Multi-Touch or Salesforce Influence tools before spending $$$.
9. 📚 Additional Resources
I’m not the only one with an opinion out there — here are some other helpful resources you can check out, to form your own strategy.
Resource Type | Link |
Salesforce: Campaign Hierarchy | |
Salesforce: Best Practices | |
HubSpot: Campaigns Tool Overview | |
HubSpot: Campaign Properties | |
HubSpot: UTM Tracking Guide | |
Naming Convention Tips (HubSpot) | |
HubSpot Campaigns Update (2023) | MarTech.org |
10. 🔗 UTM Parameters: Structure & Strategy
When I put this together, I originally left out UTMs — but upon review, I realized we have to cover them. Campaigns fall apart without UTM params!
What Are UTM Parameters?
UTM (Urchin Tracking Module) parameters are URL tags that allow you to track the performance of campaigns across web traffic sources. When used consistently, they help you:
- Attribute traffic to specific campaigns or tactics
- Measure effectiveness by channel, audience, or creative
- Link ad performance with CRM campaign reporting
If you’ve ever tried to track where someone came from, only to find a blank record — you know how important UTMs are. Get them in early, get them in often, ESPECIALLY for paid efforts like ad or influencer campaigns.
UTM Parameters to Use
Parameter | Purpose | Example |
utm_source | Refers to the traffic source | linkedin, newsletter, google |
utm_medium | Describes the marketing medium | email, cpc, social, paid |
utm_campaign | Names the campaign | q3_launch, onboarding_series |
utm_term | (Optional) Identifies paid search keywords | revops+tools, ai+marketing |
utm_content | (Optional) Differentiates versions or ads | ad1, cta_top, video_variantB |
People typically use lowercase, hyphenated terms for consistency (i.e., paid-social, not PaidSocial).
Recommended UTM Format
Use a UTM builder like:
😍 OR build your own UTM builder in v0 or a similar tool! Here’s an example one built by the team at Inflection:
v0.dev![v0.dev]()
Best Practices
- Standardize Naming
Define UTM naming conventions in your campaign taxonomy doc to avoid reporting fragmentation (e.g.,
LinkedIn vs linkedin).Seriously, make this a priority…one time I went into a new instance and found 11+ different spellings of “responded” as campaign member statuses 🫠
- Centralize Tracking URLs
Maintain a shared UTM matrix (Google Sheet or Airtable) to avoid duplication and confusion.
- Sync to CRM Campaigns
- In Salesforce, associate leads via Pardot tracking or UTMs passed from lead source fields.
- In HubSpot, UTM parameters are automatically captured if tracking URLs are used on forms, CTAs, and ad integrations.
- Use Hidden Fields
On forms, use hidden fields to capture UTM values and pass them to the contact record.
Related Guides
🏖️ Clay for Marketing: My Favorite Use Cases & How to Set Them Up
🕵️♂️ Intent Data Use Case Template
The Marketing Operations Strategist Newsletter
Join 3,500+ operations professionals. Get actionable MOPs tips every month.