Marketing Demand & Acquisition
Acquisition playbook for Series A+ startups scaling internationally (EU/US/Canada) with hybrid PLG/Sales-Led motion.
Table of Contents
Role Coverage
| Role |
Focus Areas |
| Demand Generation Manager |
Multi-channel campaigns, pipeline generation |
| Paid Media Marketer |
Paid search/social/display optimization |
| SEO Manager |
Organic acquisition, technical SEO |
| Partnerships Manager |
Co-marketing, channel partnerships |
Core KPIs
Demand Gen: MQL/SQL volume, cost per opportunity, marketing-sourced pipeline $, MQL→SQL rate
Paid Media: CAC, ROAS, CPL, CPA, channel efficiency ratio
SEO: Organic sessions, non-brand traffic %, keyword rankings, technical health score
Partnerships: Partner-sourced pipeline $, partner CAC, co-marketing ROI
Demand Generation Framework
Funnel Stages
| Stage |
Tactics |
Target |
| TOFU |
Paid social, display, content syndication, SEO |
Brand awareness, traffic |
| MOFU |
Paid search, retargeting, gated content, email nurture |
MQLs, demo requests |
| BOFU |
Brand search, direct outreach, case studies, trials |
SQLs, pipeline $ |
Campaign Planning Workflow
- Define objective, budget, duration, audience
- Select channels based on funnel stage
- Create campaign in HubSpot with proper UTM structure
- Configure lead scoring and assignment rules
- Launch with test budget, validate tracking
- Validation: UTM parameters appear in HubSpot contact records
UTM Structure
utm_source={channel} // linkedin, google, meta
utm_medium={type} // cpc, display, email
utm_campaign={campaign-id} // q1-2025-linkedin-enterprise
utm_content={variant} // ad-a, email-1
utm_term={keyword} // [paid search only]
Paid Media Channels
Channel Selection Matrix
| Channel |
Best For |
CAC Range |
Series A Priority |
| LinkedIn Ads |
B2B, Enterprise, ABM |
$150-400 |
High |
| Google Search |
High-intent, BOFU |
$80-250 |
High |
| Google Display |
Retargeting |
$50-150 |
Medium |
| Meta Ads |
SMB, visual products |
$60-200 |
Medium |
LinkedIn Ads Setup
- Create campaign group for initiative
- Structure: Awareness → Consideration → Conversion campaigns
- Target: Director+, 50-5000 employees, relevant industries
- Start $50/day per campaign
- Scale 20% weekly if CAC < target
- Validation: LinkedIn Insight Tag firing on all pages
Google Ads Setup
- Prioritize: Brand → Competitor → Solution → Category keywords
- Structure ad groups with 5-10 tightly themed keywords
- Create 3 responsive search ads per ad group (15 headlines, 4 descriptions)
- Maintain negative keyword list (100+)
- Start Manual CPC, switch to Target CPA after 50+ conversions
- Validation: Conversion tracking firing, search terms reviewed weekly
Budget Allocation (Series A, $40k/month)
| Channel |
Budget |
Expected SQLs |
| LinkedIn |
$15k |
10 |
| Google Search |
$12k |
20 |
| Google Display |
$5k |
5 |
| Meta |
$5k |
8 |
| Partnerships |
$3k |
5 |
See campaign-templates.md for detailed structures.
SEO Strategy
Technical Foundation Checklist
Keyword Strategy
| Tier |
Type |
Volume |
Priority |
| 1 |
High-intent BOFU |
100-1k |
First |
| 2 |
Solution-aware MOFU |
500-5k |
Second |
| 3 |
Problem-aware TOFU |
1k-10k |
Third |
On-Page Optimization
- URL: Include primary keyword, 3-5 words
- Title tag: Primary keyword + brand (60 chars)
- Meta description: CTA + value prop (155 chars)
- H1: Match search intent (one per page)
- Content: 2000-3000 words for comprehensive topics
- Internal links: 3-5 relevant pages
- Validation: Google Search Console shows page indexed, no errors
Link Building Priorities
- Digital PR (original research, industry reports)
- Guest posting (DA 40+ sites only)
- Partner co-marketing (complementary SaaS)
- Community engagement (Reddit, Quora)
Partnerships
Partnership Tiers
| Tier |
Type |
Effort |
ROI |
| 1 |
Strategic integrations |
High |
Very high |
| 2 |
Affiliate partners |
Medium |
Medium-high |
| 3 |
Customer referrals |
Low |
Medium |
| 4 |
Marketplace listings |
Medium |
Low-medium |
Partnership Workflow
- Identify partners with overlapping ICP, no competition
- Outreach with specific integration/co-marketing proposal
- Define success metrics, revenue model, term
- Create co-branded assets and partner tracking
- Enable partner sales team with demo training
- Validation: Partner UTM tracking functional, leads routing correctly
Affiliate Program Setup
- Select platform (PartnerStack, Impact, Rewardful)
- Configure commission structure (20-30% recurring)
- Create affiliate enablement kit (assets, links, content)
- Recruit through outbound, inbound, events
- Validation: Test affiliate link tracks through to conversion
See international-playbooks.md for regional tactics.
Attribution
Model Selection
| Model |
Use Case |
| First-Touch |
Awareness campaigns |
| Last-Touch |
Direct response |
| W-Shaped (40-20-40) |
Hybrid PLG/Sales (recommended) |
HubSpot Attribution Setup
- Navigate to Marketing → Reports → Attribution
- Select W-Shaped model for hybrid motion
- Define conversion event (deal created)
- Set 90-day lookback window
- Validation: Run report for past 90 days, all channels show data
Weekly Metrics Dashboard
| Metric |
Target |
| MQLs |
Weekly target |
| SQLs |
Weekly target |
| MQL→SQL Rate |
>15% |
| Blended CAC |
<$300 |
| Pipeline Velocity |
<60 days |
See attribution-guide.md for detailed setup.
Tools
scripts/
| Script |
Purpose |
Usage |
calculate_cac.py |
Calculate blended and channel CAC |
python scripts/calculate_cac.py --spend 40000 --customers 50 |
HubSpot Integration
- Campaign tracking with UTM parameters
- Lead scoring and MQL/SQL workflows
- Attribution reporting (multi-touch)
- Partner lead routing
See hubspot-workflows.md for workflow templates.
References
| File |
Content |
| hubspot-workflows.md |
Lead scoring, nurture, assignment workflows |
| campaign-templates.md |
LinkedIn, Google, Meta campaign structures |
| international-playbooks.md |
EU, US, Canada market tactics |
| attribution-guide.md |
Multi-touch attribution, dashboards, A/B testing |
Channel Benchmarks (B2B SaaS Series A)
| Metric |
LinkedIn |
Google Search |
SEO |
Email |
| CTR |
0.4-0.9% |
2-5% |
1-3% |
15-25% |
| CVR |
1-3% |
3-7% |
2-5% |
2-5% |
| CAC |
$150-400 |
$80-250 |
$50-150 |
$20-80 |
| MQL→SQL |
10-20% |
15-25% |
12-22% |
8-15% |
MQL→SQL Handoff
SQL Criteria
Required:
✅ Job title: Director+ or budget authority
✅ Company size: 50-5000 employees
✅ Budget: $10k+ annual
✅ Timeline: Buying within 90 days
✅ Engagement: Demo requested or high-intent action
SLA
| Handoff |
Target |
| SDR responds to MQL |
4 hours |
| AE books demo with SQL |
24 hours |
| First demo scheduled |
3 business days |
Validation: Test lead through workflow, verify notifications and routing.
Proactive Triggers
- Over-relying on one channel -- Single-channel dependency is a business risk. Diversify acquisition across 3+ channels.
- No lead scoring -- Not all leads are equal. Route to revenue-operations for scoring setup.
- CAC exceeding LTV -- Demand gen is unprofitable. Optimize or cut underperforming channels.
- No nurture for non-ready leads -- 80% of leads aren't ready to buy. Nurture sequences convert them later.
Related Skills
- campaign-analytics: For measuring demand gen effectiveness with attribution and ROI.
- marketing-strategy-pmm: For positioning and GTM strategy that feeds demand gen campaigns.
- social-media-analyzer: For analyzing social channel performance within demand gen mix.
- revenue-operations: For pipeline analysis and forecast accuracy downstream of demand gen.
Troubleshooting
| Problem |
Likely Cause |
Solution |
| CAC exceeding LTV ratio (below 3:1) |
Over-spending on high-cost channels without sufficient conversion optimization |
Audit channel-specific CAC against benchmarks. Cut or pause channels with CAC >$400 for B2B SaaS. Shift budget toward lower-CAC channels (SEO, email, organic social). A 3:1 LTV:CAC ratio is the minimum for sustainability; below 2:1 indicates immediate problems |
| LinkedIn Ads delivering low CTR (<0.4%) |
Audience too broad, creative fatigue, or wrong ad format |
Narrow targeting to Director+ titles at 50-5,000 employee companies. Refresh creative every 2-3 weeks. Test Thought Leader Ads before scaling standard formats -- they deliver 10-20% CTR at premium CPMs, which frequently beats standard LinkedIn ads' 0.5-1% rates |
| Google Ads CPA rising above target |
Insufficient conversion data for automated bidding, or keyword competition increasing |
Stay on Manual CPC until you have 50+ conversions, then switch to Target CPA. Google Ads CPC increased 164% from 2019-2024. Expand negative keyword list (maintain 100+). Focus on long-tail, high-intent keywords to reduce competition |
| MQL-to-SQL conversion rate below 15% |
Lead scoring too loose, or MQL criteria not aligned with sales expectations |
Tighten MQL scoring criteria. Require minimum engagement score (demo request or equivalent high-intent action). Align with sales on SQL criteria: Director+ title, 50-5,000 employees, $10k+ budget, buying within 90 days |
| UTM parameters not appearing in HubSpot contact records |
Tracking script not firing, form stripping UTM values, or redirect losing parameters |
Verify HubSpot tracking code is on all pages. Ensure forms pass hidden UTM fields. Test by clicking a UTM-tagged link and checking the contact record. Use server-side UTM capture if client-side tracking is blocked by privacy tools |
| Partner channel not generating pipeline |
Partner enablement insufficient, or wrong partner tier selection |
Ensure partners have completed demo training and have access to co-branded assets. Focus on Tier 1 strategic integration partners (high effort, very high ROI) before scaling to Tier 2 affiliates. Set clear success metrics and revenue model before launch |
| Single-channel dependency risk |
Over 50% of pipeline from one channel |
Diversify acquisition across 3+ channels immediately. Recommended 2026 allocation: AI-enhanced paid search 28-33%, omnichannel social 22-28%, content + experience marketing 20-25%. No single channel should exceed 40% of total pipeline |
Success Criteria
- Blended CAC: Target <$300 for B2B SaaS Series A (2026 benchmark). Channel-specific targets: LinkedIn $150-400, Google Search $80-250, SEO/Organic $50-150, Email $20-80. Average B2B SaaS CAC reached $1,200 in 2026 for all segments; self-serve targets $100-500 while enterprise can reach $5,000+
- CAC Payback Period: Achieve payback within 6-12 months (2026 median). Elite performers reach payback in under 80 days. Payback exceeding 18 months signals unsustainable unit economics
- LTV:CAC Ratio: Maintain minimum 3:1 ratio. Below 2:1 requires immediate intervention. Top-quartile SaaS companies spend $1.10 or less to acquire $1 of new ARR; median spends $2 per $1 ARR
- MQL-to-SQL Conversion: Target 15-25% for Google Search, 12-22% for SEO, 10-20% for LinkedIn, 8-15% for email. Overall blended target >15%
- Pipeline Velocity: Close marketing-sourced deals within 60 days average. SDR response to MQL within 4 hours, AE demo booking within 24 hours, first demo within 3 business days
- Channel Diversification: No single channel should represent more than 40% of pipeline. Maintain active campaigns across minimum 3 channels. LinkedIn generates highest quality B2B leads (40% of marketers cite it as most effective)
- Marketing Budget Efficiency: SaaS companies under $10M ARR should spend 20-35% of revenue on marketing; $10-50M spend 18-25%; $50-100M spend 15-20%. For 2026, allocate 18-28% of revenue total with clear channel allocation ratios
Scope & Limitations
In Scope:
- Multi-channel demand generation strategy for B2B SaaS (Series A+) with hybrid PLG/sales-led motion
- Paid media channel selection, budget allocation, and CAC calculation (LinkedIn, Google Search, Google Display, Meta)
- SEO strategy including technical foundation, keyword strategy, on-page optimization, and link building priorities
- Partnership program planning (strategic integrations, affiliates, referrals, marketplace listings)
- Attribution model selection (first-touch, last-touch, W-shaped) with HubSpot integration guidance
- UTM structure standards and campaign tracking
- MQL/SQL criteria definition and handoff SLA
Out of Scope:
- Campaign creative design (ad copy, images, video production)
- Platform-specific campaign management UI guidance (use LinkedIn Campaign Manager, Google Ads, Meta Ads Manager directly)
- Product-led growth (PLG) product instrumentation (freemium flows, in-app upgrade prompts)
- Sales process optimization beyond MQL-to-SQL handoff (see revenue-operations or sales-success skills)
- Advanced predictive analytics or ML-based lead scoring
- International regulatory compliance for advertising (GDPR consent, CCPA disclosures)
- Brand marketing and awareness campaigns without direct pipeline attribution
Market Context (2026):
- CAC is rising 40-60% since 2023 across B2B SaaS
- Google Ads CPC increased 164% from 2019-2024; LinkedIn costs up 89%
- Privacy regulations and cookie deprecation are reducing attribution accuracy
- AI-enhanced bidding strategies (Google Performance Max, LinkedIn Maximize Conversions) are becoming standard
Integration Points
| Integration |
Purpose |
How to Connect |
| HubSpot CRM |
Campaign tracking, lead scoring, MQL/SQL workflows, attribution reporting |
Create campaigns with UTM structure (utm_source={channel}, utm_medium={type}, utm_campaign={campaign-id}). Configure W-shaped (40-20-40) attribution model. Set 90-day lookback window. Validate with weekly metrics dashboard |
| Google Ads |
Paid search campaign management |
Structure: Brand > Competitor > Solution > Category keywords. 3 responsive search ads per ad group (15 headlines, 4 descriptions). Start Manual CPC, switch to Target CPA after 50+ conversions. Weekly search term review |
| LinkedIn Campaign Manager |
B2B paid social campaigns |
Structure: Awareness > Consideration > Conversion campaigns. Target Director+, 50-5,000 employees. Start $50/day per campaign. Scale 20% weekly if CAC < target. Verify LinkedIn Insight Tag on all pages. Test Thought Leader Ads for higher CTR |
| Google Search Console |
SEO performance tracking |
Monitor indexing, Core Web Vitals, keyword positions. Target page speed >90 mobile. Submit XML sitemap. Track non-brand traffic percentage as key SEO health metric |
| campaign-analytics skill |
Attribution modeling and ROI calculation |
Export HubSpot journey data as JSON for attribution_analyzer.py. Use campaign_roi_calculator.py for cross-channel ROI comparison. Feed funnel data into funnel_analyzer.py for bottleneck detection |
| social-media-analyzer skill |
Social channel performance within demand gen mix |
Analyze paid social campaign performance with calculate_metrics.py. Compare social channel CAC against other acquisition channels |
| Partner Platforms (PartnerStack, Impact, Rewardful) |
Affiliate and partner program management |
Configure 20-30% recurring commission. Create affiliate enablement kit. Set up partner UTM tracking. Test affiliate link tracking through to conversion |
Tool Reference
calculate_cac.py
Type: CLI script (runs with example data or edit inline)
Usage:
python calculate_cac.py
Note: This script uses hardcoded example data. To analyze your own data, edit the example_data list in the script with your channel-specific spend and customer counts.
Input Format (edit in script):
example_data = [
{'channel': 'LinkedIn Ads', 'spend': 15000, 'customers': 10},
{'channel': 'Google Search', 'spend': 12000, 'customers': 20},
{'channel': 'SEO/Organic', 'spend': 5000, 'customers': 15},
{'channel': 'Partnerships', 'spend': 3000, 'customers': 5},
]
Functions:
| Function |
Parameters |
Returns |
calculate_cac() |
total_spend: float, customers_acquired: int |
Basic CAC as float. Returns 0.0 if customers is 0 |
calculate_channel_cac() |
channel_data: List[Dict] (each dict: channel, spend, customers) |
Dict with per-channel breakdown (spend, customers, cac) plus blended key with total_spend, total_customers, blended_cac |
print_results() |
results: Dict |
Prints formatted table to stdout with per-channel and blended CAC |
Built-in Benchmarks (printed at end of output):
- LinkedIn Ads: $150-$400
- Google Search: $80-$250
- SEO/Organic: $50-$150
- Partnerships: $100-$300
- Blended Target: <$300
2026 Context: These benchmarks reflect Series A B2B SaaS. Overall B2B SaaS CAC has risen to $1,200 average across all segments (up 40-60% since 2023). Self-serve models target $100-500; enterprise segments can exceed $5,000. The median SaaS company spends $2 to acquire $1 of new ARR.
1---
2name: marketing-demand-acquisition
3description: >
4 Multi-channel demand generation, paid media optimization, SEO strategy, and
5 partnership programs for Series A+ startups
6license: MIT + Commons Clause
7metadata:
8 version: 1.1.0
9 author: borghei
10 category: marketing
11 domain: demand-generation
12 updated: 2025-01
13---
14
15# Marketing Demand & Acquisition
16
17Acquisition playbook for Series A+ startups scaling internationally (EU/US/Canada) with hybrid PLG/Sales-Led motion.
18
19## Table of Contents
20
21- [Role Coverage](#role-coverage)
22- [Core KPIs](#core-kpis)
23- [Demand Generation Framework](#demand-generation-framework)
24- [Paid Media Channels](#paid-media-channels)
25- [SEO Strategy](#seo-strategy)
26- [Partnerships](#partnerships)
27- [Attribution](#attribution)
28- [Tools](#tools)
29- [References](#references)
30
31---
32
33## Role Coverage
34
35| Role | Focus Areas |
36|------|-------------|
37| Demand Generation Manager | Multi-channel campaigns, pipeline generation |
38| Paid Media Marketer | Paid search/social/display optimization |
39| SEO Manager | Organic acquisition, technical SEO |
40| Partnerships Manager | Co-marketing, channel partnerships |
41
42---
43
44## Core KPIs
45
46**Demand Gen:** MQL/SQL volume, cost per opportunity, marketing-sourced pipeline $, MQL→SQL rate
47
48**Paid Media:** CAC, ROAS, CPL, CPA, channel efficiency ratio
49
50**SEO:** Organic sessions, non-brand traffic %, keyword rankings, technical health score
51
52**Partnerships:** Partner-sourced pipeline $, partner CAC, co-marketing ROI
53
54---
55
56## Demand Generation Framework
57
58### Funnel Stages
59
60| Stage | Tactics | Target |
61|-------|---------|--------|
62| TOFU | Paid social, display, content syndication, SEO | Brand awareness, traffic |
63| MOFU | Paid search, retargeting, gated content, email nurture | MQLs, demo requests |
64| BOFU | Brand search, direct outreach, case studies, trials | SQLs, pipeline $ |
65
66### Campaign Planning Workflow
67
681. Define objective, budget, duration, audience
692. Select channels based on funnel stage
703. Create campaign in HubSpot with proper UTM structure
714. Configure lead scoring and assignment rules
725. Launch with test budget, validate tracking
736. **Validation:** UTM parameters appear in HubSpot contact records
74
75### UTM Structure
76
77```
78utm_source={channel} // linkedin, google, meta
79utm_medium={type} // cpc, display, email
80utm_campaign={campaign-id} // q1-2025-linkedin-enterprise
81utm_content={variant} // ad-a, email-1
82utm_term={keyword} // [paid search only]
83```
84
85---
86
87## Paid Media Channels
88
89### Channel Selection Matrix
90
91| Channel | Best For | CAC Range | Series A Priority |
92|---------|----------|-----------|-------------------|
93| LinkedIn Ads | B2B, Enterprise, ABM | $150-400 | High |
94| Google Search | High-intent, BOFU | $80-250 | High |
95| Google Display | Retargeting | $50-150 | Medium |
96| Meta Ads | SMB, visual products | $60-200 | Medium |
97
98### LinkedIn Ads Setup
99
1001. Create campaign group for initiative
1012. Structure: Awareness → Consideration → Conversion campaigns
1023. Target: Director+, 50-5000 employees, relevant industries
1034. Start $50/day per campaign
1045. Scale 20% weekly if CAC < target
1056. **Validation:** LinkedIn Insight Tag firing on all pages
106
107### Google Ads Setup
108
1091. Prioritize: Brand → Competitor → Solution → Category keywords
1102. Structure ad groups with 5-10 tightly themed keywords
1113. Create 3 responsive search ads per ad group (15 headlines, 4 descriptions)
1124. Maintain negative keyword list (100+)
1135. Start Manual CPC, switch to Target CPA after 50+ conversions
1146. **Validation:** Conversion tracking firing, search terms reviewed weekly
115
116### Budget Allocation (Series A, $40k/month)
117
118| Channel | Budget | Expected SQLs |
119|---------|--------|---------------|
120| LinkedIn | $15k | 10 |
121| Google Search | $12k | 20 |
122| Google Display | $5k | 5 |
123| Meta | $5k | 8 |
124| Partnerships | $3k | 5 |
125
126See [campaign-templates.md](references/campaign-templates.md) for detailed structures.
127
128---
129
130## SEO Strategy
131
132### Technical Foundation Checklist
133
134- [ ] XML sitemap submitted to Search Console
135- [ ] Robots.txt configured correctly
136- [ ] HTTPS enabled
137- [ ] Page speed >90 mobile
138- [ ] Core Web Vitals passing
139- [ ] Structured data implemented
140- [ ] Canonical tags on all pages
141- [ ] Hreflang tags for international
142- **Validation:** Run Screaming Frog crawl, zero critical errors
143
144### Keyword Strategy
145
146| Tier | Type | Volume | Priority |
147|------|------|--------|----------|
148| 1 | High-intent BOFU | 100-1k | First |
149| 2 | Solution-aware MOFU | 500-5k | Second |
150| 3 | Problem-aware TOFU | 1k-10k | Third |
151
152### On-Page Optimization
153
1541. URL: Include primary keyword, 3-5 words
1552. Title tag: Primary keyword + brand (60 chars)
1563. Meta description: CTA + value prop (155 chars)
1574. H1: Match search intent (one per page)
1585. Content: 2000-3000 words for comprehensive topics
1596. Internal links: 3-5 relevant pages
1607. **Validation:** Google Search Console shows page indexed, no errors
161
162### Link Building Priorities
163
1641. Digital PR (original research, industry reports)
1652. Guest posting (DA 40+ sites only)
1663. Partner co-marketing (complementary SaaS)
1674. Community engagement (Reddit, Quora)
168
169---
170
171## Partnerships
172
173### Partnership Tiers
174
175| Tier | Type | Effort | ROI |
176|------|------|--------|-----|
177| 1 | Strategic integrations | High | Very high |
178| 2 | Affiliate partners | Medium | Medium-high |
179| 3 | Customer referrals | Low | Medium |
180| 4 | Marketplace listings | Medium | Low-medium |
181
182### Partnership Workflow
183
1841. Identify partners with overlapping ICP, no competition
1852. Outreach with specific integration/co-marketing proposal
1863. Define success metrics, revenue model, term
1874. Create co-branded assets and partner tracking
1885. Enable partner sales team with demo training
1896. **Validation:** Partner UTM tracking functional, leads routing correctly
190
191### Affiliate Program Setup
192
1931. Select platform (PartnerStack, Impact, Rewardful)
1942. Configure commission structure (20-30% recurring)
1953. Create affiliate enablement kit (assets, links, content)
1964. Recruit through outbound, inbound, events
1975. **Validation:** Test affiliate link tracks through to conversion
198
199See [international-playbooks.md](references/international-playbooks.md) for regional tactics.
200
201---
202
203## Attribution
204
205### Model Selection
206
207| Model | Use Case |
208|-------|----------|
209| First-Touch | Awareness campaigns |
210| Last-Touch | Direct response |
211| W-Shaped (40-20-40) | Hybrid PLG/Sales (recommended) |
212
213### HubSpot Attribution Setup
214
2151. Navigate to Marketing → Reports → Attribution
2162. Select W-Shaped model for hybrid motion
2173. Define conversion event (deal created)
2184. Set 90-day lookback window
2195. **Validation:** Run report for past 90 days, all channels show data
220
221### Weekly Metrics Dashboard
222
223| Metric | Target |
224|--------|--------|
225| MQLs | Weekly target |
226| SQLs | Weekly target |
227| MQL→SQL Rate | >15% |
228| Blended CAC | <$300 |
229| Pipeline Velocity | <60 days |
230
231See [attribution-guide.md](references/attribution-guide.md) for detailed setup.
232
233---
234
235## Tools
236
237### scripts/
238
239| Script | Purpose | Usage |
240|--------|---------|-------|
241| `calculate_cac.py` | Calculate blended and channel CAC | `python scripts/calculate_cac.py --spend 40000 --customers 50` |
242
243### HubSpot Integration
244
245- Campaign tracking with UTM parameters
246- Lead scoring and MQL/SQL workflows
247- Attribution reporting (multi-touch)
248- Partner lead routing
249
250See [hubspot-workflows.md](references/hubspot-workflows.md) for workflow templates.
251
252---
253
254## References
255
256| File | Content |
257|------|---------|
258| [hubspot-workflows.md](references/hubspot-workflows.md) | Lead scoring, nurture, assignment workflows |
259| [campaign-templates.md](references/campaign-templates.md) | LinkedIn, Google, Meta campaign structures |
260| [international-playbooks.md](references/international-playbooks.md) | EU, US, Canada market tactics |
261| [attribution-guide.md](references/attribution-guide.md) | Multi-touch attribution, dashboards, A/B testing |
262
263---
264
265## Channel Benchmarks (B2B SaaS Series A)
266
267| Metric | LinkedIn | Google Search | SEO | Email |
268|--------|----------|---------------|-----|-------|
269| CTR | 0.4-0.9% | 2-5% | 1-3% | 15-25% |
270| CVR | 1-3% | 3-7% | 2-5% | 2-5% |
271| CAC | $150-400 | $80-250 | $50-150 | $20-80 |
272| MQL→SQL | 10-20% | 15-25% | 12-22% | 8-15% |
273
274---
275
276## MQL→SQL Handoff
277
278### SQL Criteria
279
280```
281Required:
282✅ Job title: Director+ or budget authority
283✅ Company size: 50-5000 employees
284✅ Budget: $10k+ annual
285✅ Timeline: Buying within 90 days
286✅ Engagement: Demo requested or high-intent action
287```
288
289### SLA
290
291| Handoff | Target |
292|---------|--------|
293| SDR responds to MQL | 4 hours |
294| AE books demo with SQL | 24 hours |
295| First demo scheduled | 3 business days |
296
297**Validation:** Test lead through workflow, verify notifications and routing.
298
299## Proactive Triggers
300
301- **Over-relying on one channel** -- Single-channel dependency is a business risk. Diversify acquisition across 3+ channels.
302- **No lead scoring** -- Not all leads are equal. Route to revenue-operations for scoring setup.
303- **CAC exceeding LTV** -- Demand gen is unprofitable. Optimize or cut underperforming channels.
304- **No nurture for non-ready leads** -- 80% of leads aren't ready to buy. Nurture sequences convert them later.
305
306## Related Skills
307
308- **campaign-analytics**: For measuring demand gen effectiveness with attribution and ROI.
309- **marketing-strategy-pmm**: For positioning and GTM strategy that feeds demand gen campaigns.
310- **social-media-analyzer**: For analyzing social channel performance within demand gen mix.
311- **revenue-operations**: For pipeline analysis and forecast accuracy downstream of demand gen.
312
313---
314
315## Troubleshooting
316
317| Problem | Likely Cause | Solution |
318|---------|-------------|----------|
319| CAC exceeding LTV ratio (below 3:1) | Over-spending on high-cost channels without sufficient conversion optimization | Audit channel-specific CAC against benchmarks. Cut or pause channels with CAC >$400 for B2B SaaS. Shift budget toward lower-CAC channels (SEO, email, organic social). A 3:1 LTV:CAC ratio is the minimum for sustainability; below 2:1 indicates immediate problems |
320| LinkedIn Ads delivering low CTR (<0.4%) | Audience too broad, creative fatigue, or wrong ad format | Narrow targeting to Director+ titles at 50-5,000 employee companies. Refresh creative every 2-3 weeks. Test Thought Leader Ads before scaling standard formats -- they deliver 10-20% CTR at premium CPMs, which frequently beats standard LinkedIn ads' 0.5-1% rates |
321| Google Ads CPA rising above target | Insufficient conversion data for automated bidding, or keyword competition increasing | Stay on Manual CPC until you have 50+ conversions, then switch to Target CPA. Google Ads CPC increased 164% from 2019-2024. Expand negative keyword list (maintain 100+). Focus on long-tail, high-intent keywords to reduce competition |
322| MQL-to-SQL conversion rate below 15% | Lead scoring too loose, or MQL criteria not aligned with sales expectations | Tighten MQL scoring criteria. Require minimum engagement score (demo request or equivalent high-intent action). Align with sales on SQL criteria: Director+ title, 50-5,000 employees, $10k+ budget, buying within 90 days |
323| UTM parameters not appearing in HubSpot contact records | Tracking script not firing, form stripping UTM values, or redirect losing parameters | Verify HubSpot tracking code is on all pages. Ensure forms pass hidden UTM fields. Test by clicking a UTM-tagged link and checking the contact record. Use server-side UTM capture if client-side tracking is blocked by privacy tools |
324| Partner channel not generating pipeline | Partner enablement insufficient, or wrong partner tier selection | Ensure partners have completed demo training and have access to co-branded assets. Focus on Tier 1 strategic integration partners (high effort, very high ROI) before scaling to Tier 2 affiliates. Set clear success metrics and revenue model before launch |
325| Single-channel dependency risk | Over 50% of pipeline from one channel | Diversify acquisition across 3+ channels immediately. Recommended 2026 allocation: AI-enhanced paid search 28-33%, omnichannel social 22-28%, content + experience marketing 20-25%. No single channel should exceed 40% of total pipeline |
326
327---
328
329## Success Criteria
330
331- **Blended CAC**: Target <$300 for B2B SaaS Series A (2026 benchmark). Channel-specific targets: LinkedIn $150-400, Google Search $80-250, SEO/Organic $50-150, Email $20-80. Average B2B SaaS CAC reached $1,200 in 2026 for all segments; self-serve targets $100-500 while enterprise can reach $5,000+
332- **CAC Payback Period**: Achieve payback within 6-12 months (2026 median). Elite performers reach payback in under 80 days. Payback exceeding 18 months signals unsustainable unit economics
333- **LTV:CAC Ratio**: Maintain minimum 3:1 ratio. Below 2:1 requires immediate intervention. Top-quartile SaaS companies spend $1.10 or less to acquire $1 of new ARR; median spends $2 per $1 ARR
334- **MQL-to-SQL Conversion**: Target 15-25% for Google Search, 12-22% for SEO, 10-20% for LinkedIn, 8-15% for email. Overall blended target >15%
335- **Pipeline Velocity**: Close marketing-sourced deals within 60 days average. SDR response to MQL within 4 hours, AE demo booking within 24 hours, first demo within 3 business days
336- **Channel Diversification**: No single channel should represent more than 40% of pipeline. Maintain active campaigns across minimum 3 channels. LinkedIn generates highest quality B2B leads (40% of marketers cite it as most effective)
337- **Marketing Budget Efficiency**: SaaS companies under $10M ARR should spend 20-35% of revenue on marketing; $10-50M spend 18-25%; $50-100M spend 15-20%. For 2026, allocate 18-28% of revenue total with clear channel allocation ratios
338
339---
340
341## Scope & Limitations
342
343**In Scope:**
344- Multi-channel demand generation strategy for B2B SaaS (Series A+) with hybrid PLG/sales-led motion
345- Paid media channel selection, budget allocation, and CAC calculation (LinkedIn, Google Search, Google Display, Meta)
346- SEO strategy including technical foundation, keyword strategy, on-page optimization, and link building priorities
347- Partnership program planning (strategic integrations, affiliates, referrals, marketplace listings)
348- Attribution model selection (first-touch, last-touch, W-shaped) with HubSpot integration guidance
349- UTM structure standards and campaign tracking
350- MQL/SQL criteria definition and handoff SLA
351
352**Out of Scope:**
353- Campaign creative design (ad copy, images, video production)
354- Platform-specific campaign management UI guidance (use LinkedIn Campaign Manager, Google Ads, Meta Ads Manager directly)
355- Product-led growth (PLG) product instrumentation (freemium flows, in-app upgrade prompts)
356- Sales process optimization beyond MQL-to-SQL handoff (see revenue-operations or sales-success skills)
357- Advanced predictive analytics or ML-based lead scoring
358- International regulatory compliance for advertising (GDPR consent, CCPA disclosures)
359- Brand marketing and awareness campaigns without direct pipeline attribution
360
361**Market Context (2026):**
362- CAC is rising 40-60% since 2023 across B2B SaaS
363- Google Ads CPC increased 164% from 2019-2024; LinkedIn costs up 89%
364- Privacy regulations and cookie deprecation are reducing attribution accuracy
365- AI-enhanced bidding strategies (Google Performance Max, LinkedIn Maximize Conversions) are becoming standard
366
367---
368
369## Integration Points
370
371| Integration | Purpose | How to Connect |
372|-------------|---------|----------------|
373| **HubSpot CRM** | Campaign tracking, lead scoring, MQL/SQL workflows, attribution reporting | Create campaigns with UTM structure (`utm_source={channel}`, `utm_medium={type}`, `utm_campaign={campaign-id}`). Configure W-shaped (40-20-40) attribution model. Set 90-day lookback window. Validate with weekly metrics dashboard |
374| **Google Ads** | Paid search campaign management | Structure: Brand > Competitor > Solution > Category keywords. 3 responsive search ads per ad group (15 headlines, 4 descriptions). Start Manual CPC, switch to Target CPA after 50+ conversions. Weekly search term review |
375| **LinkedIn Campaign Manager** | B2B paid social campaigns | Structure: Awareness > Consideration > Conversion campaigns. Target Director+, 50-5,000 employees. Start $50/day per campaign. Scale 20% weekly if CAC < target. Verify LinkedIn Insight Tag on all pages. Test Thought Leader Ads for higher CTR |
376| **Google Search Console** | SEO performance tracking | Monitor indexing, Core Web Vitals, keyword positions. Target page speed >90 mobile. Submit XML sitemap. Track non-brand traffic percentage as key SEO health metric |
377| **campaign-analytics skill** | Attribution modeling and ROI calculation | Export HubSpot journey data as JSON for `attribution_analyzer.py`. Use `campaign_roi_calculator.py` for cross-channel ROI comparison. Feed funnel data into `funnel_analyzer.py` for bottleneck detection |
378| **social-media-analyzer skill** | Social channel performance within demand gen mix | Analyze paid social campaign performance with `calculate_metrics.py`. Compare social channel CAC against other acquisition channels |
379| **Partner Platforms (PartnerStack, Impact, Rewardful)** | Affiliate and partner program management | Configure 20-30% recurring commission. Create affiliate enablement kit. Set up partner UTM tracking. Test affiliate link tracking through to conversion |
380
381---
382
383## Tool Reference
384
385### calculate_cac.py
386
387**Type:** CLI script (runs with example data or edit inline)
388
389**Usage:**
390```bash
391python calculate_cac.py
392```
393
394**Note:** This script uses hardcoded example data. To analyze your own data, edit the `example_data` list in the script with your channel-specific spend and customer counts.
395
396**Input Format (edit in script):**
397```python
398example_data = [
399 {'channel': 'LinkedIn Ads', 'spend': 15000, 'customers': 10},
400 {'channel': 'Google Search', 'spend': 12000, 'customers': 20},
401 {'channel': 'SEO/Organic', 'spend': 5000, 'customers': 15},
402 {'channel': 'Partnerships', 'spend': 3000, 'customers': 5},
403]
404```
405
406**Functions:**
407
408| Function | Parameters | Returns |
409|----------|-----------|---------|
410| `calculate_cac()` | `total_spend: float`, `customers_acquired: int` | Basic CAC as float. Returns 0.0 if customers is 0 |
411| `calculate_channel_cac()` | `channel_data: List[Dict]` (each dict: channel, spend, customers) | Dict with per-channel breakdown (spend, customers, cac) plus `blended` key with total_spend, total_customers, blended_cac |
412| `print_results()` | `results: Dict` | Prints formatted table to stdout with per-channel and blended CAC |
413
414**Built-in Benchmarks (printed at end of output):**
415- LinkedIn Ads: $150-$400
416- Google Search: $80-$250
417- SEO/Organic: $50-$150
418- Partnerships: $100-$300
419- Blended Target: <$300
420
421**2026 Context:** These benchmarks reflect Series A B2B SaaS. Overall B2B SaaS CAC has risen to $1,200 average across all segments (up 40-60% since 2023). Self-serve models target $100-500; enterprise segments can exceed $5,000. The median SaaS company spends $2 to acquire $1 of new ARR.