Took a minor detour last week to get out my annual “annual planning” newsletter with many of us going through those now, but today we’ll pick back up on the B2B demand gen checklist + get into part 2 together.
TLDR on this series is that after spending a few months talking to various B2B marketers + leaders, I’ve noticed there’s a good bit of foundational work missing/incomplete that, if executed, can help hit growth goals without needing to 2x their media budget, hiring a bunch of BDRs, or any other crazy silver bullet that’s trending on Twitter this week.
In case you missed it, here’s part 1 which covered business fundamentals + health. And if you can’t handle the suspense of waiting for parts 3 + 4 over the next two weeks, here’s a link to the full checklist.
Sponsor: Primer
Performance marketing is having a moment. Outbound is broken. AEO is eating into SEO. But your buyers’ attention hasn’t left paid channels - the challenge is reaching the right people beyond LinkedIn and branded search.
Primer solves two of B2B advertising’s biggest pain points:
Effective targeting across Meta, Instagram, YouTube, Google, Bing, Reddit, LinkedIn, and more
Actionable insights that help you learn, refine, and continuously improve your campaigns
The result is a paid acquisition loop that gets smarter with every campaign.
It’s free to create an account, with unlimited website visitor de-anonymization and a free 30-day trial of Primer’s paid plans.
Section 2: Systems + process health
The least sexy of the 4 sections we’ll cover, but is the plumbing that prevents shit from going everywhere keeps everything flowing smoothly.
1) Validate email authentication (DKIM, SPF, DMARC)
TLDR: three DNS records that prove your email comes from you. SPF lists who may send for your domain, DKIM signs each message, + DMARC tells receiving servers what to do when a message fails either check. We send way too many emails as marketers to skip this step in 2026+.
Why it matters: without these, marketing + sales emails land in spam or get rejected, and every email-driven effort is significantly reduced in efficacy. If you skip these or are missing any, that’s preventing you from reliably landing in inboxes.
What good looks like: all three are validated on every sending domain and tool, including your CRM, marketing automation platform, + any outbound sequencer (e.g. Outreach, Nooks, etc.). You can check yours with a free tool such like Google Admin Toolbox CheckMX.
2) Build + populate relevant datapoints in CRM + MAP
TLDR: make sure all of the fields you need to segment, route, + report are created in both systems and are filled in/used.
Why it matters: 2 common scenarios I see here are 1) the field you want exists…but is empty/not utilized and/or 2) the field you want flat out doesn’t exist. Reporting + the decisions that come from them are only as good as the data captured.
What good looks like: fields are tied to your ICP definition (firmographic, technographic, signals, etc.) exist in the CRM AND the marketing automation platform. Some data should be required for account/contact creation + some data should be captured dynamically as accounts/contacts engage with your company.
3) Set correct sync rules between your CRM + MAP
TLDR: we need rules in place for which system owns each field + which direction(s) the data flows (one-way or two-way).
Why it matters: the wrong sync rules can overwrite good data (or not write data where you want it at all), break routing, deprive reporting capabilities on what you actually want to report on, etc. I could list out things ad nauseum here, but I think you get the point.
What good looks like: each field has a documented purpose/definition, owner, and direction (one-way/two-way). Further, a great revops teammate is able to set the rules + flows up in a way that matches how the team actually works.
4) Clear broken mappings + sync errors
TLDR: building off of #3 above, this is when you review the field mappings between the systems, note any sync errors they report, and decide what to do about them.
Why it matters: unless you’re in revops or have views setup to monitor these, sync failures are invisible to the typical user. This means leads slip through the cracks, data used for reporting + decisionmaking gets corrupted or is inaccurate, etc.
What good looks like: easy one here - zero mapping errors. From there it’s easy to maintain by having someone checking these on a schedule (1x/week is usually plenty).
5) Define + adopt lead and opportunity stages
TLDR: written definitions for each lead + opportunity stage, with entry + exit criteria that the team will actually follow.
Why it matters: you all know how much I love my funnel analyses + identifying constraints in them. Welllllll conversion rates are only usable for things like this when everyone uses the same stage definitions.
Fun fact: this is also where a lot of marketing and sales misalignment often hides (looking at you AEs with an unconverted lead object, stage = New, despite you having an opportunity created on the account…)
What good looks like: no rocket science here - definitions are documented, agreed by marketing and sales, AND actually used in the CRM.
6) Set duplicate-record rules + a weekly review owner
TLDR: I’ve yet to encounter a company that wasn’t struggling in some way with duplicates (leads, contacts, opportunities, accounts, etc.). Step 1 is putting rules in place to flag duplicate records and step 2 is having one named person in charge of reviewing them every week.
Why it matters: sarcastic answer: if I have to spell this out for you, this isn’t the newsletter for you + I’m shocked you’ve read this far into it already.
Politically correct answer: duplicates create havoc. They split activity history, confuse routing, inflate/deflate counts, and lead to really awkward conversations when a fresh-faced BDR calls a “hot lead”…only to find out that they’re one of your largest customers + have been for years. (fun fact: this was me early in my career. No faster way to learn how to adapt a conversation on the fly + “just be calling to check in + see how everything is going + if there’s anything I can help with” 😂)
What good looks like: rules are configured in admin and fire automatically + a weekly review is conducted by a named owner (and a short queue since this is being checked weekly).
7) Audit the measurement layer
TLDR: document the current state of how demand + marketing is measured, then propose what’s needed to get to the “what good looks like” state below. Remember: we’re not looking to decide what gets credit or how many dollars should be attributed to a specific channel, but to determine what channels + behaviors, when combined, lead to the highest likelihood that we achieve our desired outcome (AKA creating a GTM ecosystem).
Why it matters: attribution models only capture a fraction of everything that drives a B2B purchase. Taking a layered approach gives us a read on what is/isn’t working so we can make better decisions on how to continue growing moving forward.
What good looks like: build this in two layers:
Layer 1
Using your system of record
What to check
Lead source (usually last touch) + original source (usually first touch) definitions are agreed, with a short list of accepted values
Capturing a source is required on every record
Opportunity stage definitions are in use
Pipeline, win rate, cycle length, etc. are reportable from the CRM
How to set it up
Write the definitions in one shared doc: lead source, original source, + each opportunity stage. Source should be a required picklist field (automatically set since we’ve followed the above steps to this point…) in the CRM so a record can’t be saved without one.
Layer 2
Using triangulation
What to check
Self-reported attribution (“how did you hear about us”) appears on every form + gets asked on every discovery call
Call recordings are searched for what buyers say influenced them
A quarterly review compares macro patterns (branded search, direct traffic, referral share, tier 1 engagement) next to spend, content shipped, initiatives taken, etc.
How to set it up
Add a “How did you hear about us?” free-text field to every form, and store the answer in its own field, separate from source. (yes, use free-text, not a picklist, otherwise people will pick the first option the most. You can use AI to clean up + bucket the responses into categories for analysis)
Add the same question + others that allow BDRs/AEs to go deeper during their discovery calls. Then use your call recording tool (Gong, Fathom, etc.) to search transcripts for what prospects say.
Wrapping up
Like I said in the beginning, definitely the least sexy of the 4 sections in the checklist, BUT this is the one that I do within the first 30 days of any client engagement for good reason. Without this, we won’t have the data to understand if what we’re doing is working and/or be bleeding pipeline because of faulty plumbing.
Stay tuned next week as we’ll start getting into the fun parts that I’m sure you really want to get to: setting up flawless demand capture.
See you next week,
Sam
P.S. in case you missed it, episode 3 of Marketing Meditations dropped last Tuesday (Tues will be the release day every week moving forward for new ones). Every episode, I pull one idea from a classic marketing text (Hopkins, Ogilvy, etc. - AKA the ones still worth stealing from) + translate it into something you can use in your work today.
Listen on Spotify
Listen on Apple Podcasts
Watch/listen on YouTube



One line to add to the authentication check: a DMARC record at p=none passes the requirement and protects nothing. Google and Yahoo have asked bulk senders, 5,000 messages a day, for SPF, DKIM and DMARC since February 2024, and Microsoft applied the same to Outlook consumer domains from May 2025. So the field worth reading in the DNS is the policy, not whether a record exists.