Built for RevOps teams designing lead source taxonomies
The lead source taxonomy that holds up past the first marketing-ops hire.
Every CRM three years in has a lead source picklist with 180 values, 40 of them typos, and 20 that mean the same thing in different capitalizations. The taxonomy problem is a governance problem dressed up as a data problem. Strkr ships the structure, the picklist controls, and the UTM mapping that keep the taxonomy readable through year five.
The lead source classification problem has a specific shape. A new CRM launches with a clean picklist of 10 to 12 values. Marketing adds campaign-specific values. Sales adds free-text values when the picklist does not fit. Partners add inconsistent values on referrals. Three years in, the picklist carries 180 values, half of which are duplicates with different capitalizations, 20 are typos, and 15 are stale campaign names from 2022. The attribution report pulls garbage. The CMO loses faith in the funnel data. The RevOps team runs a quarterly cleanup that lasts four days. Six weeks later the chaos is back. The structural fix is governance and taxonomy design, which most CRMs do not ship as a first-class pattern. The six specific pains that follow keep surfacing on taxonomy-redesign calls.
The picklist sprawl
Lead source hits 180 values by year three.
A picklist with 180 values is unusable. Reps cannot find the right value, admins cannot audit, and the attribution report pulls duplicates. The structural fix is a two-tier picklist (category + sub-source) with the sub-source values gated by category and governed by an owner. Strkr ships this pattern as the default lead source model, so sprawl requires an admin decision rather than being the natural drift.
UTM mismatch
The web form writes utm_source=linkedin, the CRM has LinkedIn Ads.
The web form captures UTM parameters, the CRM has a lead source picklist, and the two never match. "linkedin" lowercase, "LinkedIn", "LinkedIn Ads", "LI Paid", and "linkedin.com" all live in the data for the same channel. Strkr ships a UTM-to-source mapping record that normalizes incoming utm_source values to canonical picklist entries, with an admin review flow for unmapped values.
Free-text contamination
Reps type "Mike referred this one" into the lead source field.
When the picklist does not fit, reps fill the gap with free text. "Mike referred", "mike r.", "Partner intro from Mike", "mikes customer" all end up in the data for the same referral motion. Strkr's lead source field is picklist-enforced with no free-text fallback; the "other" bucket requires a Note record that captures the context without polluting the structured field.
Multi-touch attribution
Lead source is one field, buyer journey has 11 touches.
A single lead-source field captures the first touch and loses the other 10. The marketing team cannot show the paid-media influence on an organic-attributed deal because the attribution model is single-touch. Strkr's touch record captures each inbound signal (web form submit, content download, email click, event scan, demo request) with the full sequence preserved. First-touch, last-touch, and multi-touch models all run as reports from the same underlying data.
Partner and referral blind spots
Partner-sourced deals attributed to "direct."
Partner-sourced deals often lose attribution because the partner contact submits the lead via a shared partner portal and the CRM reads the submission as "direct." Strkr's partner taxonomy ships a dedicated channel tier (Partner → Named Partner → Program Tier) with the partner org as a structured field, so partner-sourced revenue shows up in the attribution report at the partner-named level.
The quarterly cleanup trap
Four days of admin work that gets re-dirtied in six weeks.
RevOps teams run quarterly picklist cleanups: merge duplicates, retire stale values, fix capitalization. The cleanup lasts four days and the chaos returns in six weeks. The structural fix is enforcement, not cleanup. Strkr's picklist governance ships owner, approval flow for new values, deprecated-value handling, and automatic merge-on-input for near-duplicate values.
The taxonomy model that works
A three-level structure that stays readable.
A durable lead source taxonomy has three levels: channel (paid, organic, partner, outbound, event, referral, direct), source (specific channel instance like LinkedIn Ads, Google Organic, Named Partner X), and campaign (specific campaign or program). Each level is a separate structured field with its own governance. The sections below unpack what each level carries and how Strkr enforces the structure.
Level 1: channel
A short, closed picklist that never changes.
Channel is 7 to 10 values that cover every acquisition motion: paid-media, organic-search, direct, email-nurture, partner, outbound, event, referral, social-organic, product-led. Changes to this list are rare and require admin + CMO sign-off. Strkr enforces channel as a closed picklist with explicit admin workflow for additions.
Level 2: source
The specific channel instance, cardinality 20 to 60.
Source is the specific instance within a channel: LinkedIn Ads inside paid-media, Google Organic inside organic-search, Named Partner X inside partner. Source values are gated by channel (you cannot pick "Google Organic" with channel "paid-media"). Strkr's dependent-picklist pattern enforces the gating at the field level.
Level 3: campaign
The specific program, cardinality unlimited, retention 2 years.
Campaign is the specific program instance: "Q2 2026 LinkedIn ABM Blitz", "RSA Trade Show 2026", "Winter Nurture Series". Cardinality is unlimited but values auto-archive 2 years after last-use. Strkr ships the archive policy as a Flow so stale campaigns do not pollute the active picklist while historical data stays queryable.
The UTM mapping record
Normalize inbound UTM to the canonical taxonomy.
Every web form inbound carries utm_source, utm_medium, utm_campaign. Strkr's UTM mapping record translates each incoming parameter set to the canonical channel + source + campaign values. New utm_source values that do not match an existing rule queue for admin review instead of being auto-created, which keeps the taxonomy clean.
The partner tier structure
Partner → Named Partner → Program Tier.
Partner-sourced deals carry a three-field structure: partner org (lookup to the Partner record), program tier (gold, silver, bronze or custom), referral type (direct intro, co-sell, resold). The partner attribution report then runs clean across any of the three dimensions. Partner-sourced ARR by program tier shows up on the CMO dashboard without a RevOps query.
The touch sequence record
Every inbound signal captured as a timestamped row.
Each inbound signal (web form submit, content download, email click, event scan, demo request, chat message) is captured as a Touch record with timestamp, channel, source, campaign, and content tag. The sequence per contact and per account preserves the full buyer journey. First-touch, last-touch, linear multi-touch, and W-shaped attribution all run on the same underlying data.
Deprecated-value handling
Retire a value without breaking historical reports.
When a source value retires (campaign ends, channel partner leaves), Strkr marks it deprecated rather than deleting. New records cannot select the deprecated value, but historical data retains it for backward-compatible reporting. The deprecated value does not clutter the active picklist but history stays intact.
Owner and audit log
Every picklist change captured with user + reason.
Picklist additions, deprecations, and merges are captured with the user who made the change, the timestamp, and a required reason field. The RevOps audit log answers "when did we add this source and who approved it" without reconstruction. Which matters when the CFO asks why Q2 attribution shifted after a mid-quarter taxonomy change.
How attribution reports read the taxonomy
Six reports the CMO looks at weekly.
A lead source taxonomy only earns its keep when the attribution reports pull clean numbers. The reports below are the ones that run on the Strkr taxonomy without needing a RevOps rebuild each quarter. Each pulls from the three-level structure plus the touch sequence record.
Pipeline sourced by channel
Last 30, 60, 90 days with QoQ delta.
The CMO opens on Monday and sees pipeline created in the last 30, 60, 90 days broken down by channel (paid, organic, partner, outbound, event). QoQ delta per channel highlights what is growing and what is drifting. The report runs on live data and does not need a RevOps regeneration.
Cost per opportunity by source
Marketing spend joined to opportunity creation.
The paid-media spend ledger joins to opportunity creation by source. Cost per opportunity shows up for LinkedIn Ads, Google Ads, Capterra, G2, Reddit Ads, with the trend over 12 weeks. The CMO stops renewing the channels that drift above CPO threshold without the manual Excel exercise.
Multi-touch influence
Which campaigns influenced closed-won deals.
A closed-won deal shows every touch across the journey (web visit, content download, nurture email open, demo request, in-person event). The influence report shows which campaigns show up in the sequence of closed deals, not just which campaign got the attribution credit on first touch.
Partner-sourced ARR
By partner org and program tier.
Partner-sourced ARR rolls up by partner org and program tier. The partnerships lead sees which named partners actually drive revenue, not just which ones submit the most leads. The report drives the quarterly partner QBR without a RevOps assist.
Organic-content attribution
SEO page view to opportunity, by content cluster.
Organic traffic rolls up by content cluster (feature pages, industry pages, comparison pages, blog clusters). First-touch opportunities and multi-touch influence both show at the cluster level, so the content team sees which clusters produce pipeline and which are vanity traffic.
Lead-to-opportunity conversion by source
Which sources create leads that actually convert.
A high-volume source producing low conversion is a quality problem. The report pairs lead volume with conversion to opportunity, then to closed-won. Channels producing 100 leads with 2 percent opportunity conversion are flagged for review. Marketing budget shifts to channels with 15 percent conversion instead of 100-volume vanity sources.
The governance that keeps it clean
Five policies that stop the taxonomy from drifting.
A clean taxonomy on launch day will dirty inside a quarter without governance. The policies below are the ones Strkr ships as default and the ones most teams need to turn on explicitly for custom taxonomies. These are the controls that let a 100-rep org run a 15-value channel picklist for 4 years without a cleanup project.
Picklist-only enforcement
No free-text fallback on lead source.
Lead source is picklist-only. The admin can allow an "Other" value, but the Other value requires a mandatory Note record capturing context. The Note goes to a review queue weekly so admins can decide whether a new picklist value is warranted or the Other was correct.
Dependent-picklist gating
Source values gated by channel.
Channel = paid-media gates source to the paid-media sub-list. Channel = organic-search gates to Google Organic, Bing Organic, and the branded-search sub-values. The gating is a field-level rule, not a convention, so reps cannot pick an incompatible pair.
New-value admin workflow
Adding a picklist value requires approval.
A rep requesting a new source value files a request through a structured form. The RevOps admin reviews, approves or declines, and the approval captures the reason. The picklist growth rate drops from 3 to 4 values per month to 1 to 2 per quarter, which is sustainable at scale.
Automatic merge on near-duplicates
LinkedIn, LinkedIn Ads, and linkedin-ads collapse at write.
When an inbound value matches an existing picklist entry under a fuzzy-match rule (case-insensitive, punctuation-insensitive, 80 percent string similarity), Strkr auto-maps to the canonical value and flags for admin review. The data stays clean without the daily merge exercise.
Auto-archive on inactivity
Campaigns inactive for 2 years retire from active picklist.
A Flow runs monthly and retires campaign values with no new records in 24 months. Deprecated-mark preserves history but removes clutter. The active picklist stays current without the "where did Q3 2022 Blitz come from" cleanup conversation.
Quarterly taxonomy review
A standing meeting with the CMO, RevOps, and partnerships lead.
The taxonomy review is a 30-minute standing meeting each quarter: new values added, values retired, utm mapping updates, partner tier changes. The meeting captures decisions in a structured record (not a Google Doc) so the taxonomy history is auditable at the field level.
Head-to-head
Strkr vs monday.com for taxonomy governance.
monday.com is a flexible platform that can be configured to hold a lead source taxonomy, but the governance patterns are not shipped as defaults; they are DIY per board. Strkr ships the three-level structure, the dependent-picklist gating, the UTM mapping record, and the auto-archive policy as first-class defaults. The head-to-head below is on taxonomy-specific features.
Feature
Strkr
monday.com Sales CRM
Three-level taxonomy
Channel + source + campaign shipped as default
Columns on a board; structure DIY
Dependent picklist
Source values gated by channel at field level
Conditional columns via automation
UTM mapping record
Normalizes inbound UTM to canonical taxonomy
Custom integration or Zapier-style workflow
Free-text fallback control
Picklist-only with structured Other + Note queue
Free-text columns allowed by default
Auto-merge near-duplicates
Fuzzy-match on write with admin review
Not shipped as default behavior
Deprecated-value handling
Mark deprecated preserves history, hides from input
The teams that run clean taxonomies for years do a small set of specific things. The playbooks below are three motions from Strkr customers that moved off CRMs with 180-value picklists to a durable three-level structure.
B2B SaaS, 50 reps
Picklist consolidated from 184 values to 42 across three levels.
A 50-rep B2B SaaS company inherited a Salesforce lead source picklist with 184 values. The attribution reports were unusable. The RevOps lead moved to Strkr primarily to run a disciplined taxonomy design: 10 channels, 32 sources, campaign values auto-archive at 24 months. Six months in, the active picklist held 42 values across the three levels. The CMO ran weekly attribution reports off clean data for the first time in 4 years and the quarterly cleanup project retired entirely.
Agency, 20 account managers
Partner-sourced revenue made visible at the named-partner level.
A full-service agency ran a partner network of 30 named partners sending referral business. The CRM attributed partner-sourced deals to "referral" with no partner-level breakdown. The partnerships lead ran a Strkr implementation that captured partner org + program tier + referral type on each deal. The first quarterly partner QBR cycle on the new taxonomy produced actionable per-partner revenue numbers, which drove a renegotiation of the top three partner contracts and a sunset of the bottom seven.
Mid-market B2B, 90-rep team
UTM mapping record stopped the quarterly cleanup project.
A 90-rep B2B team ran a quarterly RevOps cleanup project (one person, 4 days per quarter) to collapse LinkedIn/linkedin/LinkedIn-Ads duplicates in the attribution data. The Strkr UTM mapping record auto-normalized incoming utm_source values to the canonical picklist, with new unmapped values queued for weekly admin review. The quarterly cleanup project retired. The RevOps analyst gained roughly 128 hours per year back for actual reporting work, and the attribution data read as clean on every weekly CMO review from month one.
ProServ firm, 35 reps
Touch sequence drove the shift from first-touch to multi-touch model.
A professional services firm had been running first-touch attribution because the legacy CRM did not capture the full touch sequence. The marketing lead suspected the model undervalued nurture content. Strkr's Touch record captured every signal: web visit, content download, email engagement, event scan. The multi-touch report revealed that nurture content touched 68 percent of closed-won deals despite being first-touch on only 12 percent. Marketing budget shifted toward nurture content production, and pipeline-sourced marketing attribution climbed 14 points over 2 quarters.
A lead source taxonomy that stays clean through year five.
Try Strkr free for 14 days with the three-level taxonomy and governance defaults enabled. Run a sample attribution report on your current data, see the UTM mapping normalize messy inbound values, and plan the migration path from your current picklist state.
How many values should a lead source picklist have?
At the channel level, 7 to 10 values is the right range. Common channels include paid-media, organic-search, direct, email-nurture, partner, outbound, event, referral, social-organic, and product-led. Below 7 values, the channel breakdown is too coarse to drive marketing decisions. Above 10, the breakdown starts duplicating sub-source distinctions that belong at level 2. At the source level, 30 to 60 values is typical for a mid-market B2B team. The campaign level can be unlimited because campaign values auto-archive at 24 months of inactivity, so the active picklist stays current while historical data remains queryable. The total active picklist footprint across all three levels usually sits at 50 to 100 values for a 50-rep org that runs the discipline.
How does Strkr handle the transition from a messy picklist to a clean taxonomy?
The transition runs as a structured migration. Phase one is a data audit: Strkr runs a report of every current value with record counts, so the RevOps lead sees which values are high-volume (keep or merge) and which are long-tail (archive). Phase two is the mapping: each legacy value maps to a target channel + source combination, with sign-off from marketing and sales ops. Phase three is the migration itself, which runs as a Flow that updates historical records with the new structure (with the legacy value preserved on a secondary field for backward-compatible reporting). Phase four is the governance switch-on: picklist-only enforcement, dependent-picklist gating, UTM mapping, and the quarterly review cadence. The full transition typically runs 4 to 8 weeks on a mid-market org.
Can we still run first-touch attribution if we are capturing a full touch sequence?
Yes. The touch sequence record captures every inbound signal with timestamp and context. First-touch, last-touch, linear multi-touch, time-decay, and W-shaped (first + last + opportunity-created) attribution all run as reports on the same underlying data. The attribution model is a reporting choice rather than a data model choice, so teams can run several in parallel. The common pattern is first-touch for channel sourcing credit (which channel introduced the account), last-touch for conversion attribution (which touch triggered the opportunity), and multi-touch for budget allocation (which campaigns deserve ongoing spend). Marketing leaders typically look at all three and the gaps between them are themselves useful information about the funnel.
How does the UTM mapping handle new utm_source values from campaigns we have not seen before?
A new utm_source value that does not match an existing mapping rule triggers an admin review record rather than auto-creating a new picklist entry. The RevOps admin sees the unmapped value in a weekly queue with the context: how many records carried it, which forms it hit, whether a campaign in the Marketing module corresponds. The admin decides to map it to an existing canonical value (common for case-variant or synonym cases), create a new picklist entry (rare), or merge it to the Other bucket pending more data. The default-deny posture is what keeps picklist growth from accelerating as the marketing team runs more varied campaigns.
What happens to the attribution data when we retire a campaign?
Retiring a campaign marks the value as deprecated rather than deleting. New records cannot select the deprecated value, but historical records retain it and historical attribution reports continue to pull. The CMO can still answer "how did Q2 2024 LinkedIn ABM Blitz perform" two years later, but a new record cannot accidentally pick the stale value. The deprecated-mark pattern is applied across channel, source, and campaign levels. The auto-archive policy at the campaign level runs this automatically at 24 months of inactivity; manual deprecation runs for the rare cases where a campaign is retired early due to performance or policy reasons.
Can the taxonomy accommodate account-based marketing where attribution is at the account level, not contact level?
Yes. The touch sequence record attaches to both contact and account, so account-based motions roll up cleanly. An account can carry 20 contact-level touches across 12 people in the buying committee, and the account-level attribution report pulls the full set with per-contact weighting. ABM-specific channels (one-to-one direct mail, hand-signed letter campaigns, exec-level dinner events) carry their own source values and partner-level attribution. The multi-touch model on an ABM deal often shows 30 to 50 touches across 6 to 12 contacts, which is the shape most ABM reporting tools try to approximate but rarely match. Strkr ships the native data model, so the report is a query rather than an estimate.
No sales call, no migration consultant, no four-month implementation. Enter your card, get 14 days of the full Pro tier, cancel any time before day 14 with zero charge. Spin up a workspace, import your CSV, and have something useful before lunch.
We use cookies.
Essential cookies keep the site working. If you accept, we also enable Google Analytics
so we can see which pages help and which don't. Reject to opt out entirely. Details in our
Privacy Policy.