Campaign Brief: CPG Attribution — Signal Recovery / 95% Attribution
Service line: Attribution accuracy (Signal Recovery Audit → up to ~95% attribution)
Gate date: [Set 2 weeks from launch] YYYY-MM-DD
Brief owner: [Name]
Last updated: 2026-02-03
Use this brief to run the campaign and to score it against the Campaign Launch Checklist at the gate. Keep the checklist section updated so go/no-go is obvious.
1. Launch checklist progress (gate at 2 weeks)
Beta Test (must all be ✅ to advance)
- v1.0 delivery plan created (link: ________)
- 3 SOWs created and sent
- 1 signed contract secured
- Delivery started
- 1 milestone reached
Market Ready (commit when we go)
- Service posted on website
- Lead gen underway (this campaign)
- Supporting content calendar in execution (§5 below)
- Partners updated
- 5 customers attracted to a meeting
SOW & meeting tracking
| # | Company / contact | SOW sent | Signed | Meeting booked | Notes |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 |
Target: 3 SOWs sent, 1 signed, 5 total prospects to a meeting.
2. Positioning & hypothesis
Value Proposition:
“Best in the world at solving [uncertain ROI reporting from broken attribution] for [marketing leaders at emerging CPG brands] using [edge-side capture and Signal Recovery Audit to get attribution to ~95% accuracy].”
- Problem: Marketing teams get 60–70% attribution accuracy (industry average). That creates uncertainty on ROI for campaigns and slows decisions.
- Customer (title / segment): Top marketing executives at emerging CPG companies — multichannel, digital, omnichannel, paid, or e‑commerce. Often Director/VP E‑commerce, Paid Media, Omnichannel, Performance Marketing, or CMO.
- Solution (service name / approach): Signal Recovery Audit — edge-side capture in parallel with existing stack; compare client-side vs actual; discrepancy report.
One-line test hypothesis:
Marketing leaders at emerging CPG brands will pay for a Signal Recovery Audit when they see 60–70% vs up to 95% accuracy and understand it cuts reporting uncertainty without replatforming.
One-pager / narrative: (link when created — required for Market Test)
Pricing: (summary or link)
3. Campaign overview
What we’re testing:
We’re testing whether CPG marketing leaders (omnichannel, paid, e‑commerce) respond to positioning around attribution accuracy and reduced ROI uncertainty when outreach is high-quality (warm intros, mutuals) and supported by problem/solution/service content.
Target audience:
Marketing executives at emerging CPG companies: Director of E‑commerce, VP Digital Sales, Director of Paid Media, Omnichannel, Performance Marketing, CMO. Companies on the target list (§4) with revenue ~$10M+.
Strategy:
Quality over quantity. Prioritize mutual introductions and warm conversations over cold blasting. Content (problem → solution → service) runs in parallel to grease the wheels and give prospects immediate value; posts can be sent as “Thought this would be interesting” when we reach out.
4. Execution: Outreach & leadgen
Execution stack
| Layer | Tool | Role |
|---|---|---|
| Enrichment | Clay (or similar) | Account + contact data (company, headcount, revenue, LinkedIn URL, email). Output = lead list for upload. |
| HeyReach | Connection requests, DMs, sequences. Import list (CSV); run sequence from Message Library below. | |
| Instantly | Email sequences. Import same/enriched list; run sequence for email steps if used. |
This brief is the source of truth for the sequence. GTM lead uploads the list (max 30) and creates the campaign in HeyReach/Instantly so the first message and follow-ups go out automatically.
Target account list (max 30)
Cap at 30 accounts so we actually execute. Enrichment (Clay) adds contact-level data (name, LinkedIn URL, email) for upload to HeyReach/Instantly.
| Company | Category | Headcount | Annual Revenue | Revenue type | Sources |
|---|---|---|---|---|---|
| ALOHA | Nutrition bars & supplements | 51–200 | ~$100M (2023) | Estimate | Forbes, LinkedIn |
| Andersen’s Crazy Candy | Confectionery | <50 | Not disclosed | — | Company site, LinkedIn |
| Big Sipz | Ready-to-drink cocktails | <50 | Not disclosed | — | Brand site, LinkedIn |
| Bizzy Cold Brew | RTD coffee | 51–200 | ~$40–60M | Estimate | Beverage Industry, Growjo |
| ByHeart | Infant formula | 201–500 | ~$100M+ (2024) | Estimate | TechCrunch, Forbes |
| Carbliss | Low-carb canned cocktails | 51–200 | ~$60M (2023) | Estimate | Inc, LinkedIn |
| Cerebelly | Baby food | 11–50 | ~$20–30M | Estimate | PitchBook, Forbes |
| Cocojune | Coconut yogurt | 11–50 | ~$10–20M | Estimate | NOSH, LinkedIn |
| Culturelle | Probiotics | 201–500 | ~$500M+ | Reported | i-Health acquisition |
| DripDrop | Electrolyte hydration | 51–200 | ~$100M (2023) | Estimate | Fast Company, Growjo |
| Egglife | Egg-based wraps | 51–200 | ~$50–75M | Estimate | Food Business News, LinkedIn |
| Eva NYC | Haircare | 51–200 | ~$100M | Estimate | WWD, PitchBook |
| Force Factor | Supplements | 201–500 | ~$200M | Estimate | Inc, Growjo |
| Goodles | Better-for-you pasta | 11–50 | ~$20M | Estimate | Forbes, LinkedIn |
| Goodwipes | Personal care wipes | 51–200 | ~$50M | Estimate | Inc 5000, LinkedIn |
| Graza | Olive oil | 11–50 | ~$48M (2023) | Reported | Forbes, company |
| Grin | Oral care | 11–50 | Not disclosed | — | Company site, LinkedIn |
| Guru Nanda | Oil pulling & wellness | 51–200 | ~$50–75M | Estimate | Amazon, LinkedIn |
| Inaba Foods (INABA) | Pet treats | 201–500 | ~$200M+ | Estimate | Pet Food Industry, LinkedIn |
| Izzio Artisan Bakery | Bread & bakery | 201–500 | ~$100M | Estimate | Flowers Foods acquisition |
| Jonny Pops | Frozen treats | 51–200 | ~$40–60M | Estimate | Inc founder interview |
| Junkless | Snack bars | 11–50 | ~$10–15M | Estimate | Forbes founder interview |
| Kitsch | Hair & beauty | 51–200 | ~$50–75M | Estimate | WWD, Shopify |
| Kuii | Functional beverages | <50 | Not disclosed | — | Company site, LinkedIn |
| Lemme | Supplements | 51–200 | ~$100M+ (2024) | Reported | Forbes / Kardashian |
| Mike’s Hot Honey | Condiments | 51–200 | ~$100M (2023) | Reported | Forbes, Fast Company |
| Monaco Cocktails | RTD cocktails | 51–200 | ~$50M | Estimate | Beverage Industry |
| MUSH | Ready-to-eat oats | 51–200 | ~$50–70M | Estimate | Food Business News |
| Odele | Haircare | 51–200 | ~$100M | Estimate | WWD, founder interviews |
| Ole Smoky Distillery | Spirits | 201–500 | ~$300M | Estimate | Spirits Business |
| Physician’s Choice | Supplements | 51–200 | ~$150M | Estimate | Amazon, Inc 5000 |
| Poo-Pourri | Home fragrance | 201–500 | ~$200M+ | Reported | Acquisition, founder |
List capped at 30. Add contact-level columns (e.g. First Name, LinkedIn URL, Email) after enrichment in Clay for upload to HeyReach/Instantly.
ICP titles
- Director of E‑commerce
- VP of Digital Sales
- Director of Paid Media
- Omnichannel marketing
- Performance marketing
- Chief Marketing Officer (CMO)
Automated vs human-in-the-loop
| What | Who | Notes |
|---|---|---|
| First message + follow-ups (cold path) | Automated | Once list and sequence are in HeyReach/Instantly, connection request and Cold follow-up send per the Sequence definition below. No manual send per lead. |
| Intro ask (1–9 mutuals) | Human | Slack Luke & Robert: “Worth an intro ask?” before asking mutual. Not auto-sent. |
| Founder email intro | Human | After mutual agrees, founder sends intro email. Tool doesn’t send on behalf of founder. |
| Warm path (mutual outreach) | Human | Identify strong mutual, get approval, then send mutual ask (or run a separate “warm” sequence in HeyReach if you add one). |
Order of operations & decision rules
| Step | Scenario | Decision rule | Owner | Message | Notes |
|---|---|---|---|---|---|
| 1 | Prospect identified | On list + $10M+ revenue + ICP title | Sales Coordinator | — | If any fail → do not outreach |
| 2 | Mutuals | 0 mutuals | Sales Coordinator | Cold Connection Request | Tag Cold – No Mutual |
| 3 | Mutuals | 1–9 mutuals | Sales Coordinator → Slack Luke & Robert | — | “Worth an intro ask?” |
| 4 | Mutuals | 10+ mutuals | Sales Coordinator | — | Default = yes |
| 5 | Mutual quality | Former colleague / same ecosystem / mentor | Sales Coordinator | — | Never ask CEO/founder unless strategic |
| 6 | Cold path | No mutual or intro denied | Sales Coordinator | Cold Connection Request | Light personalization |
| 7 | Cold follow-up | Accepted, no reply | Sales Coordinator | Cold Follow-Up | Send once |
| 8 | Warm path | Strong mutual | Sales Coordinator | Mutual Outreach – Initial Ask | Default unless special case |
| 9 | Mutual no response | X biz days | Sales Coordinator | Mutual Follow-Up | Auto follow-up |
| 10 | Mutual declines | No / doesn’t know well | Sales Coordinator | Polite Close | Then revert to cold |
| 11 | Mutual agrees | Intro approved | Founder | Email Intro Request | Founder sends |
| 12 | Prospect replies | Engages | Founder / Sales | — | Goal: conversation |
| 13 | No engagement | All nudges exhausted | Sales Coordinator | — | Archive |
Step 1 — Confirm fit: Company on list ✓ | Revenue > $10M ✓ | Title matches ICP ✓ → Proceed.
Step 2 — Mutuals:
- 0: Send cold connection; tag Cold – No Mutual.
- 1–9: Identify 1–2 best mutuals; Slack Luke + Robert: “Found a CPG growth leader connected to X and Y. Worth an intro ask?” If approved → mutual path; if not → cold.
- 10+: Identify top 2–3 mutuals; Slack (default yes). Do not ask CEOs/founders unless strategic.
Founder involvement (minimized): Approve intro ask (Robert, 1–9 or CEO cases); approve warm message (Luke, strong mutual); send email intro (Founder, after mutual agrees). Coordinator never improvises founder language.
Success = conversation booked or active dialogue. Archive if: no response after defined nudges, mutual declines, prospect disengages.
Sequence definition (for upload to HeyReach / Instantly)
Build this sequence in the tool so the first message and follow-up go out automatically. GTM lead creates the campaign from this table and pastes the message bodies from the Message library.
| Step | Channel | Action | Message template | Delay |
|---|---|---|---|---|
| 1 | Send connection request | Cold connection | — | |
| 2 | If connected → send message | Cold follow-up | 1 day |
Warm path (1–9 or 10+ mutuals) stays human or as a separate sequence after Slack approval.
Message library
Cold connection (0 mutuals or intro declined)
Tone: curious peer.
Hi {{First Name}},
I work closely with growth leaders at CPG brands and came across your work at {{Company}}. Would love to connect and exchange notes.
Cold follow-up (accepted, no reply) — send once
Thanks for connecting, {{First Name}}. Would love to exchange notes sometime — also noticed you’re connected to {{Mutual Name}}. How do you know them?
Mutual outreach – initial ask (default)
Hi {{Mutual First Name}}, I noticed you’re connected to {{Prospect Full Name}}. I’ve been following their work at {{Prospect Company}} and would love to pick their brain. Would you be open to making an intro?
Mutual outreach – former colleague
I noticed you and {{Prospect Full Name}} worked together at {{Previous Company}}. I’d love to get their POV on [attribution / data / growth]. Would you be open to connecting us?
Mutual outreach – “couldn’t hurt”
Hi {{Mutual First Name}}, I know LinkedIn connections are hit or miss; figured it couldn’t hurt to ask. I see you’re connected to {{Prospect Full Name}} — are they a meaningful connection? Would you feel comfortable making an intro?
Mutual follow-up (no response, after X biz days)
Hi {{Mutual First Name}}, Just checking in to see if you had a chance to review my note. Any chance an intro to {{Prospect Full Name}} is feasible?
Mutual declines (close gracefully)
All good — totally understand. Appreciate the thought!
Founder email intro (after mutual agrees)
Founder sends.
Subject: {{Prospect Full Name}} Intro to BrainForge
Hi {{Mutual First Name}}, Would you be open to introducing me to {{Prospect Full Name}}? [1–2 sentences on what’s new at BrainForge and why the conversation is valuable.] Totally understand if not — appreciate you either way.
Outreach checklist (per prospect)
- Confirm ICP fit
- Check mutual count
- Identify top mutuals / Slack approval if needed (human)
- List uploaded; sequence live (first message + follow-ups automated)
- Outcome logged
5. Execution: Content (supporting calendar)
Content is created and queued in Notion; this section links to it so the brief stays the single place to see what content supports this campaign. Full copy and publish status live in Notion.
Goal: Educate marketing leaders on the problem and our solution. Win through Credibility (stories, metrics, quotes), Connection (speak to real pain), Consistency (post consistently). Use posts as “Thought this would be interesting” when outreaching.
Pillars & sequence: 6 posts over 2–3 weeks: Problem (2) → Solution (2) → Service (2). People should feel “How do they do this?” when reading.
Post calendar
| # | Pillar | Topic / hook | Notion / link |
|---|---|---|---|
| 1 | Problem | Moment we realized client-side tracking was broken | [link] |
| 2 | Problem | Why omnichannel teams feel this pain first | [link] |
| 3 | Solution | Why better attribution tools don’t fix broken data | [link] |
| 4 | Solution | Edge-side tracking isn’t invasive (often safer) | [link] |
| 5 | Service | What we do and don’t do (no replatform) | [link] |
| 6 | Service | Case: saving a client serious money | [link] |
Content lives in: [Add link to Notion content calendar / board for this campaign.]
At gate: “Supporting content calendar in execution” = confirm in Notion that posts are queued/going out.
Reference: post one-liners (full copy in Notion)
Post 1 — The moment we realized client-side tracking was broken
• We weren’t looking for a new approach — we were reconciling data for a client
• Shopify / accounting showed materially more revenue than marketing tools
• ~17% of customers had no identifiable acquisition source
• Not a GA4 or pixel issue — client-side fails (browsers, consent, scripts)
• Issue is where data is captured, not effort or tooling
CTA: DM us if you want to sanity-check whether this is happening in your stack
Post 2 — Why omnichannel teams feel this pain first
• Omnichannel leaders allocate spend across tools that don’t agree
• Paid, lifecycle, e‑commerce, onsite data tell different stories
• More tools → less confident attribution; teams debate numbers
• Growth slows because decisions feel risky
CTA: If you oversee omnichannel growth and this feels familiar, DM us
Post 3 — Why better attribution tools don’t fix broken data
• Most attribution tools work after data is collected
• If conversions never fire, models can’t recover them
• GA4, Triple Whale, Northbeam still rely on browser-level signal
• Real question: “what never shows up at all?”
CTA: DM us to pressure-test what your attribution tools never see
Post 4 — Edge-side tracking isn’t invasive (and is often safer)
• Client-side stacks sprawl and leak risk; edge-side allows PII stripping before analytics
• Consent can control activation, not just capture
• Fewer scripts, fewer failure points, tighter enforcement
• Often more privacy-forward than legacy
CTA: If privacy or consent is your concern, DM us
Post 5 — What we actually do (and what we don’t)
• We don’t replace GA4, Segment, or attribution platforms; we don’t replatform
• We run edge-side capture in parallel; compare client-side vs actual
• Output is a discrepancy report, not a sales pitch
CTA: DM us to see how a Signal Recovery Audit works
Post 6 — The case: saving a client serious money
• CPG brand on Shopify, paid + lifecycle; ~$6M+ recurring revenue
• ~17% of customers had no known source; accounting saw revenue marketing couldn’t explain
• Result: corrected attribution, better spend decisions
• Common at scale, not edge case
CTA: DM us to run a Signal Recovery Audit on your data
6. Roles & owner
| Action | Owner |
|---|---|
| Brief owner / gate decision | [TBD] |
| Outreach execution (coordinator) | Sales Coordinator |
| Intro approval (1–9 mutuals) | Luke & Robert (Slack) |
| Founder intro send | Founder |
| Content publish | [TBD] |
7. Gate decision (fill at gate date)
Gate date: [Set]
- Go — Beta criteria met; proceeding to full rollout.
- Conditional go — Beta met; Market Ready actions committed with follow-up date.
- No-go — Beta not met; iterate or pause. Next test date: _______________.
Notes: