Skip to content

Funnel: Acquisition

First PublishedByAtif Alam

Upstream: Martech Stack & Automation — instrumentation, tooling, and data plumbing. This page covers measurement execution.

The decision this page enables: whether you’re buying the right traffic — and whether your acquisition numbers in the ad platform, analytics tool, and CRM describe the same reality.

What acquisition measurement is (and why it matters)

Section titled “What acquisition measurement is (and why it matters)”

Acquisition measurement is how you answer: Who arrived, from where, at what cost — and was the traffic worth acquiring?

It sits at the top of the A→C→R funnel. Downstream stages (Conversion, Retention) depend on acquisition sending the right people. If acquisition is mis-measured, every later metric is a lie dressed in a dashboard.

Acquisition is not the same as awareness. Awareness (impressions, reach, share of voice) may never touch your site. Acquisition starts when a person lands — on your site, app store listing, or signup flow — and you can attribute the visit to a source.

Every channel is a mini-funnel. Measuring only the last step (signup) hides where spend leaks.

flowchart TD
    imp[Impression / listing view] --> clk[Click / store tap]
    clk --> land[Landing / store page]
    land --> eng[Engaged session<br/>≥10s or scroll 25%]
    eng --> lead[Lead / signup / install]
    lead --> qual[Qualified lead<br/>ICP fit or activated install]

Stage definitions must be written down. “Engaged session” means different things in GA4 vs. Mixpanel vs. your ad platform. Pick one canonical definition per stage and mirror it in reporting.

MetricFormula / definitionUsed for
Impressions / reachAd or organic surface viewsShare of voice, creative fatigue
CTRClicks ÷ impressionsCreative and audience fit
Sessions / visitsUnique landing eventsVolume sanity check
Engaged visit rateEngaged sessions ÷ sessionsLanding page and message fit
Lead / signup rateLeads ÷ engaged sessionsConversion efficiency at top
Qualified lead rateICP-fit leads ÷ all leadsQuality, not just volume
CAC (by channel)Channel spend ÷ new customers from channelBudget allocation
CPL / CPSSpend ÷ leads or signupsEarly signal before full CAC
Blended MERTotal revenue ÷ total marketing spendExecutive rollup (see ROI / ROAS)

Healthy teams review volume and quality together. A channel with cheap CPL but 50% unqualified leads is not a win.

Web analytics alone misses a large share of B2C acquisition. App funnels need parallel instrumentation.

SurfacePrimary toolsKey eventsAcquisition-specific notes
iOS App StoreApp Store Connect, Apple Search AdsImpression, product page view, install, openSearch vs. browse vs. referrer; custom product pages for campaigns
Google PlayPlay Console, Google AdsStore listing visitors, installs, first openUTM on deferred deep links; install referrer API
In-app web → appBranch, Adjust, AppsFlyer, FirebaseClick, install, first open, signupMatch web campaign to install with consistent campaign IDs
Mobile webGA4, SegmentSession, signupSeparate property or data stream from desktop

Rules for app acquisition:

  1. One campaign ID scheme across web UTMs, ad platforms, and MMP (mobile measurement partner) — don’t let Meta use campaign_name while internal docs use something else.
  2. Install ≠ signup. Track first_open and registration_complete separately; trial-to-paid is Conversion.
  3. SKAN / privacy gaps. iOS ATT reduces deterministic attribution; triangulate with modeled data and incrementality tests (see Attribution).
  4. Organic vs. paid install mix. Sudden organic spikes often mean ASO or word-of-mouth — tag influencer and referral programs explicitly.

UTMs are the cheapest attribution layer — and the first thing to break at scale. Treat them as a schema, not ad-hoc strings.

ParameterPurposeConvention
utm_sourcePlatform or publisherLowercase, no spaces: linkedin, google, newsletter
utm_mediumChannel typeFixed enum: cpc, paid_social, email, organic, referral, affiliate
utm_campaignInitiativeYYYY-QN-theme e.g. 2026-q2-workspace-launch
utm_contentCreative / varianthero-a, carousel-b, subject-line-test-3
utm_termKeyword (search only)Match type optional: team+workspace+b

Governance rules:

  • No UTMs on internal links (nav, footer) — they pollute session source.
  • Auto-append UTMs in ESP and ad platforms via templates; manual entry only for one-offs.
  • Block list for personal email domains in B2B lead scoring — not a UTM issue, but prevents “direct” misclassification when reps forward links.
  • Quarterly UTM audit: export top 50 utm_campaign values; kill duplicates and orphan spellings.

Cross-channel placement detail lives in Place: Channels. Paid platform specifics in Paid Advertising and SEO.

How to measure acquisition — step by step

Section titled “How to measure acquisition — step by step”
  1. Define “lead” and “qualified lead” for your motion (form fill, work-email signup, activated install). Publish definitions in a shared doc.
  2. Instrument the channel funnel through at least engaged session → lead. Verify events fire in staging before spend goes live.
  3. Deploy the UTM schema across ads, email, and partner links. Add validation (required fields before campaign launch).
  4. Build the channel quality scorecard (template below) — one row per channel, refreshed weekly.
  5. Connect acquisition to CRM or product analytics with identity resolution (email hash, user ID). Without join keys, channel CAC stays theoretical.
  6. Reconcile platform vs. warehouse weekly — ad platform conversions vs. internal signups by utm_source / campaign ID. Investigate >10% gaps.
  7. Review with Attribution triangulation — last-touch for ops, incrementality or holdouts for budget moves.

Complete before any paid or email campaign goes live:

Campaign name (human): [Q2 workspace launch — LinkedIn ABM]
Owner: [name]
Launch date: [YYYY-MM-DD]
Landing URL (no UTMs): [https://example.com/workspace]
Generated URL:
utm_source= [linkedin]
utm_medium= [paid_social]
utm_campaign= [2026-q2-workspace-launch]
utm_content= [carousel-test-a]
utm_term= [leave blank unless search]
Full URL:
[paste complete tagged URL]
QA checklist:
[ ] Opens correct landing page (no redirect chain stripping params)
[ ] GA4 / product analytics shows test hit within 15 minutes
[ ] CRM capture preserves UTM fields on form submit
[ ] Ad platform uses same campaign ID in its native naming
[ ] Document stored in campaign folder / Notion
Notes on creative variants:
utm_content=carousel-test-b → [URL]
utm_content=single-image-c → [URL]

Score each active acquisition channel weekly. Red on any quality metric → pause scale until diagnosed.

Channel: [e.g., LinkedIn paid — product manager persona]
Period: [week of YYYY-MM-DD]
Spend: [$____]
Owner: [name]
| Metric | This week | 4-wk avg | Target | Status |
| --- | --- | --- | --- | --- |
| Impressions | | | — | |
| CTR | | | ≥0.8% | |
| Landing sessions | | | — | |
| Engaged session rate | | | ≥55% | |
| Lead / signup count | | | — | |
| Lead rate (lead/session) | | | ≥2% | |
| Qualified lead rate | | | ≥60% | |
| CPL | | | ≤$___ | |
| CAC (if known) | | | ≤$___ | |
| Platform vs CRM delta | | | <10% | |
Quality notes:
[What changed? Creative refresh? Audience drift? Seasonality?]
Action:
[ ] Scale [ ] Hold [ ] Cut [ ] Test new creative/landing

Use this spec when briefing RevOps or building a Looker/Metabase/Hex view.

Dashboard: Acquisition — Weekly Channel Review
Audience: Marketing channel owners + CMO
Refresh: Daily data, reviewed Mondays
Filters: Date range, channel, campaign, geo, motion (PLG vs SLG)
Row 1 — Executive tiles
- Total spend (paid + allocated organic labor optional)
- Total signups / leads
- Blended CPL
- Qualified lead rate
- WoW delta on each
Row 2 — Channel table (sort by spend desc)
Columns: channel, spend, sessions, leads, qual rate, CPL, CAC, delta vs target
Conditional format: qual rate red if <50%, CRM delta red if >10%
Row 3 — Funnel by channel (bar or funnel viz)
impression → click → session → engaged → lead → qualified
Row 4 — UTM hygiene
Top 10 campaigns by volume; flag missing utm_medium or duplicate spellings
Row 5 — Mobile slice (if applicable)
installs by source, install→signup rate, CPI vs CPS
Drill-down links:
- Campaign detail in ad platform
- Landing page in CMS
- Cohort quality in [Cohort Analysis](/library/marketing/analytics-and-measurement/cohort-analysis/) (30-day lag)
MetricB2B SaaS (healthy growth)B2C app (healthy growth)Red flag
Engaged session rate50–65%45–60%<40% → landing/message mismatch
Session → lead rate1.5–4%2–8% (store listing)Drops 30% WoW with flat spend → tracking break
Qualified lead rate55–75% of leadsN/A (use activation proxy)<45% → targeting too broad
CPLMotion-dependent; track vs LTV/3$2–15 mobile, $20–80 webCPL down, qual rate down → vanity leads
CAC payback inputCAC by channel vs 12-mo gross marginCPI + signup→paid in one viewScaling channel with CAC > LTV/3
Platform vs CRM delta<10%<10%>15% sustained → attribution or form loss
Organic share of signups20–40% at scale30–50% for mature apps0% organic → fragile paid dependency

SaaS workspace (B2B) — paid + content mix

Section titled “SaaS workspace (B2B) — paid + content mix”

Context: Team workspace for 10–200 person product teams. Hybrid PLG + sales-led; acquisition measured to work-email signup and MQL for demo requests.

Channel scorecard snapshot (one week):

ChannelSpendSignupsQual rate (ICP fit)CPLNotes
LinkedIn paid$4,2006271%$68ABM list + carousel creative
Google Search — brand$8904882%$19Defensive; high intent
Google Search — non-brand$2,1003158%$68”Notion alternative” cluster
Organic / direct$09464%SEO content + word of mouth
Webinar co-marketing$1,500 (fixed)2277%$68UTM utm_medium=partner

Diagnosis: Non-brand search qual rate lagging LinkedIn by 13 points. Action: tighten keywords, add firmographic gate on landing (company size field), pause broad match until landing A/B completes.

UTM discipline: All LinkedIn ads use utm_campaign=2026-q2-pm-workspace; creative tests only change utm_content. RevOps reconciled LinkedIn reported conversions (58) to CRM signups with matching UTMs (54) — 7% delta, within tolerance.

Consumer fitness app (B2C) — mobile-first acquisition

Section titled “Consumer fitness app (B2C) — mobile-first acquisition”

Context: Workout app, App Store + Instagram/TikTok paid. Acquisition measured through install → account created; trial start is Conversion.

Channel funnel (monthly):

ChannelImpressionsInstallsAccount createdInstall→accountCPICPS
Meta paid2.1M9,8007,84080%$1.85$2.31
TikTok paid3.4M11,2005,60050%$1.40$2.80
Apple Search Ads2,4002,04085%$2.10$2.47
Organic store4,6003,68080%

Diagnosis: TikTok delivers cheap installs but 50% account completion — onboarding friction or wrong audience (curiosity clicks). Team pauses TikTok scale, fixes first-run account flow, re-tests with lookalike built from 4+ workout users (quality seed).

Mobile note: MMP campaign IDs mirror web UTM campaign names so weekly scorecard rolls up iOS + Android + web in one table.

Paid social (Paid Advertising): Track creative fatigue via CTR decay over 14 days. Refresh creative when CTR drops >25% from peak while frequency rises.

Search (SEO + paid): Separate brand vs non-brand in the scorecard. Brand CPL should be low; non-brand tells you whether content and keywords attract ICP.

Email and lifecycle: Acquisition credit for newsletter-driven signups requires UTMs on every CTA — not just the hero link. utm_medium=email on all in-body links.

Partners and affiliates: Issue unique utm_source per partner (utm_source=partner_acme) plus commission ID in CRM for later LTV reconciliation.

  • Reporting ad platform conversions as truth. Platforms over-count; always reconcile to first-party signups with UTMs.
  • UTM chaos. linkedin, LinkedIn, and linked-in become three “channels” in GA4. Enforce enums.
  • CAC without qualification. Dividing spend by all signups hides that half the “customers” never activate.
  • Ignoring engaged session rate. Optimizing CTR alone rewards clickbait that hurts downstream conversion.
  • Desktop-only dashboards for mobile products. Install and store listing metrics live in separate consoles — pull them into one review.
  • Attribution arguments before instrumentation. Fix tagging and CRM capture before debating multi-touch models.
  • Web analytics: GA4, Plausible, Fathom — session and UTM reporting; validate with BigQuery export at scale.
  • Product analytics: Mixpanel, Amplitude, PostHog — signup events with $initial_utm_* properties preserved at account creation.
  • Mobile measurement: Adjust, AppsFlyer, Branch — install attribution and deep-link campaign parity with web UTMs.
  • Tag management: Google Tag Manager, Segment — enforce UTM capture on form submit and SPA route changes.
  • SEO: Ahrefs, Semrush, Search Console — organic acquisition trend independent of paid dashboards.
  • Ad platforms: Native reporting for CTR and spend; never the sole source of lead volume.
  • Canonical read: Lean Analytics ( Croll & Yoskovitz ) — pirate metrics and stage-appropriate acquisition focus; platform help centers for SKAN and Enhanced Conversions when mobile share exceeds 40% of signups.