TrackFunnels

UTM Parameters

Chapter 17 — UTM Strategies for B2B Marketing

Shad Malik
By Shad Malik Updated on Feb 17, 2026

Encode your go-to-market context directly in UTMs so reports reflect how B2B buying really works. Layer stage, persona, account segments, and plays on top of the core attribution fields to measure movement toward pipeline and revenue.

The two-layer model that keeps B2B analysis honest

Use standard UTMs for traffic attribution, then add a B2B context layer for strategy.

The PSA Context Layer

Persona Stage Account Segment

Persona, Stage and Account Segment can be added as custom parameters (for example, utm_persona, utm_stage, utm_accountseg). Keep values short and from fixed lists.

Layer What it encodes Example values Questions you can answer
Core attribution Channel/source/campaign utm_source=linkedin; utm_medium=cpc; utm_campaign=abm_f500_q2 Which channels and campaigns drive engaged accounts?
B2B context Stage, persona, account grouping utm_stage=consideration; utm_persona=cto; utm_accountseg=f500_mfg Which persona-stage pairs move deals forward?

Lets explore the B2B context further.

Making ABM visible in your URLs with non-PII segments

UTMs should reflect your account strategy so you can see results by tier or cluster.

How to encode

  • Use a non-PII grouping in a custom parameter (for example, utm_accountseg=tier1_mfg or utm_cluster=semi_50).
  • Do not include company names or emails in URLs.
  • Keep the number of segments small and stable.
A cloud security team promoting LinkedIn Sponsored Content to a Fortune 100 financial audience can tag links like:

utm_source=linkedin&utm_medium=cpc&utm_campaign=abm_finserv_f100_q3&utm_accountseg=finserv_f100&utm_stage=awareness

Element Example Why it matters
utm_accountseg finserv_f100 Aggregates ABM performance without exposing PII
utm_campaign abm_finserv_f100_q3 Connects the flight to sales plays
Risk to avoid PII in UTMs Keeps compliance clean and links share-safe

Note: True account-level attribution relies on CRM and multi-touch methods covered in other chapters.

Tagging funnel stage to see movement, not clicks

Stage tagging shows which touches move accounts forward.

How to encode

  • Add utm_stage with a strict, finite list (for example, awareness, consideration, decision, post-sale).

A security SaaS may map:

  • Awareness: “2026 Threat Landscape” report
  • Consideration: “Zero-Trust Architecture” webinar
  • Decision: “Healthcare Case Study”
  • Post-sale: “Admin Quickstart”

Email nurture example:

utm_source=email&utm_medium=nurture&utm_campaign=q2_webinar_series&utm_stage=consideration

Content type Intended stage Example UTM add-on
Industry report awareness utm_stage=awareness
Comparison guide consideration utm_stage=consideration
ROI calculator decision utm_stage=decision
Onboarding guide post-sale utm_stage=post-sale

Tagging persona or role to match buying needs

Different roles care about different things. Encode that directly.

How to encode

  • Use utm_persona (or utm_role) for the asset’s primary audience.

A data platform selling to CIOs, Heads of Data, and Engineers can tag:

CIO ROI email:

utm_source=email&utm_medium=exec_nurture&utm_campaign=roi_cio_q2&utm_persona=cio

Engineer docs ad:

utm_source=google&utm_medium=cpc&utm_campaign=docs_awareness&utm_persona=engineer

Persona Typical hook Example channel Example param
CIO Risk and ROI Executive nurture utm_persona=cio
Head of Data Architecture fit LinkedIn ABM utm_persona=head_data
Data Engineer Hands-on docs Google Search utm_persona=engineer

Tracking multiple decision-makers without exposing identities

Label interactions at the stakeholder level, then roll up to the account later in your CRM.

How to encode

  • Pair persona tagging with a non-PII contact key when you control the click (owned email, webinar confirm). Use a hashed internal ID as a custom parameter (for example, utm_ck=8f3a1c).

A finance SaaS can run role-specific nurtures to several contacts at the same account:

CFO stream: utm_source=email&utm_medium=nurture&utm_campaign=roi_calc&utm_persona=cfo&utm_stage=decision&utm_ck=1ab2cd

This helps you see which stakeholder actually engages and which touch comes right before opportunity creation. Identity resolution and account roll-ups are handled in the CRM and attribution chapters.

Keep early-touch context alive across long sales cycles

What “early-touch context” means: It’s the first thing that brought a person to your site (the first ad, email, or link). In B2B, people visit many times over many months before they become a lead. You need to remember that very first source until they finally submit a form or buy.

Why it matters: If you only keep the “latest” click, you lose who truly started the journey. That breaks your attribution and makes budget decisions bad.

  • Store first-touch UTM fields in a first-party cookie with a sensible expiration.
  • On form submit, save both current-touch and first-touch UTMs to your marketing automation and CRM fields.
  • Consider server-side capture to reduce client-side loss.

If an ERP buyer first clicks a LinkedIn report in January and requests a demo in June, persisting first-touch fields ensures Q1 LinkedIn ABM gets proper credit when the opportunity opens.

Field to persist Example Where to store Why
First-touch source/medium linkedin/cpc Cookie + CRM lead fields Guides budget allocation
First-touch campaign abm_mfg_q1 CRM campaign member Enables cohort analysis
First-touch stage/persona awareness/cto MA + CRM Shows journey by audience
Last-touch set Current UTMs Form hidden fields Optimizes conversion

Measure plays and sequences, not isolated assets

Tag coordinated sequences so you can judge the play, not only the single click.

How to encode

  • Use utm_play to name the sequence and utm_step to index the touch (for example, utm_play=spark_engage_close&utm_step=2).

An analytics vendor running a three-step ABM play can tag:

  • Step 1 (Spark): Analyst report ads
  • Step 2 (Engage): Persona webinar
  • Step 3 (Close): ROI calculator to executives

Example:

utm_source=linkedin&utm_medium=cpc&utm_campaign=abm_q3&utm_play=spark_engage_close&utm_step=1

This lets you measure drop-off between steps and compare which plays win by industry segment.

Control vocabularies to keep reports trustworthy

Your B2B dimensions must be tight and finite.

  • Guardrails
  • Enumerate stages: awareness, consideration, decision, post-sale.
  • Limit personas to roles that appear in real deals.
  • Map each asset to one primary stage and one primary persona to avoid double counting.

A cybersecurity team limiting utm_persona to ciso, sec_architect, it_ops reduces report noise and improves statistical power by role. Broader naming and governance live in dedicated chapters.

A developer tools company runs a quarter-long motion from top-of-funnel to demo.

Touch Channel Example parameters Outcome
1 LinkedIn ABM utm_source=linkedin&utm_medium=cpc&utm_campaign=abm_devtool_q2&utm_accountseg=saas_t2&utm_stage=awareness Page view, cookie set
2 Google Search utm_source=google&utm_medium=cpc&utm_campaign=compare_q2&utm_persona=engineer&utm_stage=consideration Guide download
3 Email nurture utm_source=email&utm_medium=nurture&utm_campaign=roi_exec&utm_persona=cto&utm_stage=decision&utm_play=roi_surge&utm_step=2 Demo request
4 Retargeting utm_source=linkedin&utm_medium=retarget&utm_campaign=case_study_q2&utm_stage=decision Opportunity created

This structure answers: Which persona-stage pairs create the most opportunities in SaaS Tier 2 accounts?

Myth Debunk:
Pasting company names in UTMs improves ABM accuracy. It creates risk and often backfires. URLs with company names leak through logs, analytics, and shares. Use non-PII segments (for example, finserv_f100) or hashed internal IDs for person-level continuity on owned clicks.

Board-grade questions your tagging should answer

  • Which ABM segment (utm_accountseg) produces the best MQL-to-SQL rate?
  • Which stage-persona pairs tend to occur within 30 days before opportunity creation?
  • Which play (utm_play) shows the highest step-to-step completion by industry?
  • Do decision-stage executive assets shorten sales cycles compared to technical ones?

Risk controls for B2B UTM tagging

  • Never place PII (names, emails, exact company names) in UTMs.
  • Keep custom parameter vocabularies small and enumerated.
  • Make URLs human-readable for sales and partners.
  • Ensure owned channels (email, nurtures, webinars) include the full B2B context layer.
TrackFunnels Expert Tip

Have a fallback of your B2B context

  • Put your key B2B details (like account name, segment, buyer role) into one packed line of text inside utm_content. This is the “fallback,” because almost every analytics tool reads utm_content.
  • Also send the same details as separate custom URL parameters (like acct=acme, seg=enterprise, role=cfo). Tools that understand custom parameters will store each piece cleanly.

Why do both?

  • If a tool ignores your custom parameters, you still keep the data in utm_content.
  • If a tool can read custom parameters, you get neat, separate fields for reporting.

Quick example URL:

https://example.com/?utm_source=linkedin&utm_medium=cpc&utm_campaign=abm-q1&utm_content=acct:acme|seg:enterprise|role:cfo&acct=acme&seg=enterprise&role=cfo

- Dedicated params: utm_persona=cio&utm_stage=decision&utm_accountseg=finserv_f100 - Fallback in utm_content: p:cio|s:decision|seg:finserv_f100

Practical tips:

  • Use a simple, consistent format in utm_content (key:value pairs separated by |).
  • Keep names short (acct, seg, role).
  • Avoid spaces; use dashes or underscores.

In B2B, UTMs should mirror your sales motion—stage, persona, account, and play—so your reporting shows progress toward pipeline and revenue.

Try This Now Assignment

Write two URLs for the same asset:

  • URL A (dedicated params): add utm_persona=cio&utm_stage=decision&utm_accountseg=finserv_f100
  • URL B (fallback in utm_content): add utm_content=p:cio|s:decision|seg:finserv_f100

Note how key value pairs are added for utm_content with a colon : essentially replicating the same that have explicit query parameters.

  • Paste both into any URL decoder. Confirm values are intact and easy to parse.
  • Open each in a private browser window. Check that the final landing URL includes your parameters (no PII).

Test your knowledge

Loading quiz questions...