Cometly
Cometly Academy

The reports B2B SaaS teams build to turn ad spend into recurring revenue.

33 short, opinionated lessons on the exact dashboards, attribution models, and Conversion API setups that modern Product-Led Growth and Sales-Led Growth SaaS companies use inside Cometly.

Free · No email requiredUpdated every quarterBuilt from real customer patterns
Choose your track

Which growth model is your team running?

Most B2B SaaS companies fit cleanly into one of two attribution archetypes — or run both at once. The reports below are organized by archetype so you can find the playbook that fits the motion you actually run.

PLGSelf-serve trials, Stripe-driven revenue, recurring billing.

Product-Led Growth

Free or paid trials lead to first payment, recurring subscriptions, expansion, and (eventually) churn. Attribution is hard because the conversion event happens days or weeks after the click — and ad platforms can’t see past their default windows.

Sound familiar?
  • Stripe is your source of truth for revenue
  • Mixpanel or PostHog tracks product usage
  • Trial-to-paid takes 7, 14, or 30 days
  • Revenue is monthly recurring, not one-time
SLGHubSpot or Salesforce, demos, sales cycles, AEs.

Sales-Led Growth

Marketing drives MQLs, sales drives demos and closed-won. Attribution is hard because sales cycles span 30–180 days, buying committees include 3–7 stakeholders, and 'direct traffic' typically swallows half of your real attribution.

Sound familiar?
  • HubSpot or Salesforce is your source of truth for pipeline
  • Demos are booked through Calendly, OnceHub, or Chili Piper
  • Closing a deal involves more than one stakeholder
  • Sales cycles are 30+ days from lead to closed-won
Running both?

Many of the strongest B2B SaaS teams run a hybrid motion.

Self-serve trials in the SMB segment, sales-led for mid-market and enterprise. Cometly was built for this — every lesson tagged PLG + SLGapplies to both motions.

See the foundations
Module 01PLG + SLG

Foundations

The reports every B2B SaaS team needs first.

Before you build advanced PLG or SLG reports, you need a solid base: a working pixel, accurate source classification, and the right attribution models. This module covers the building blocks that every Cometly customer wires up in week one.

5 lessons40m read total
  1. PLG + SLGStrategyLesson 1.1·8 min read

    Multi-touch attribution models, explained

    First-touch, last-touch, linear, U-shaped, source-specific. When to use each.

    B2B buyers don’t convert on a single click. Picking the right attribution model is the difference between scaling the channel that opened the journey and scaling the one that simply happened to close it. Cometly lets you switch models in real time on every report — once you understand what each is actually telling you.

    What you’ll take away
    • First-touch credits the channel that started the journey – best for top-of-funnel awareness
    • Last non-direct touch ignores the direct visit and gives credit to the prior real source
    • Linear weights every paid touch in the journey – best for multi-channel B2B
    • U-shaped gives 80% to the first and last touch, 20% to middle — useful for demo-driven motions
    • Source-specific gives a channel credit any time it appears in the journey — built for self-serve SaaS
    Read the lessonFree · No email required
  2. PLG + SLGSetupLesson 1.2·6 min read

    Choosing your attribution window

    30 days is a default, not an answer. Pick the window that matches your sales cycle.

    Ad platforms default to 7- or 30-day windows because that’s as far back as their pixels can see. B2B SaaS sales cycles can run 60, 90, even 180 days, and PLG cohorts can take 12 months to mature. Cometly supports 1, 7, 14, 30, 60, 90-day, and lifetime windows on every report — pick the one that matches the question you’re answering.

    What you’ll take away
    • Use 7–30 days for paid media optimization decisions inside the platform
    • Use 60–90 days for SLG pipeline reporting that mirrors the average sales cycle
    • Use a lifetime window with linear attribution to value top-of-funnel awareness
    • Compare two windows side-by-side to find the channels with long-tail conversion lag
    • Set the default window once at the workspace level so reports stay consistent
    Read the lessonFree · No email required
  3. PLG + SLGReportLesson 1.3·7 min read

    The Source Attribution report

    Every traffic source, every funnel stage, in one table.

    The Source Attribution report is the table every B2B SaaS team should look at on Monday morning. It breaks down spend, leads, MQLs, demos, and revenue by channel — Google, Meta, LinkedIn, organic, referral, email, direct — all in one view. It’s the foundation that the PLG and SLG specific reports build on.

    What you’ll take away
    • Group rows by Source for a channel-by-channel breakdown
    • Add Spend, Leads, Cost-per-Lead, MQLs, Demos, Pipeline, Revenue, ROAS as columns
    • Filter to paid sources only when comparing CAC across channels
    • Add the previous-period comparison column to spot drift week over week
    • Click any cell to drill into the contacts and customer journeys behind the number
    Read the lessonFree · No email required
  4. PLG + SLGPlaybookLesson 1.4·9 min read

    Solving the 'direct traffic' problem

    Recovering the 60% of journeys your CRM lost.

    Most B2B SaaS teams running paid ads see 50–70% of their attribution land in 'Direct' or 'Unknown'. That’s not your traffic mix — it’s a tracking gap. The Comet Pixel uses cookieless first-party fingerprint tracking that survives ad blockers, OAuth redirects, Calendly iframes, and 90-day sales cycles, typically pulling the direct bucket down to 5–10%.

    What you’ll take away
    • First-party fingerprint stitches sessions across IP, device, and browser
    • Cross-device tracking links a mobile click to a desktop demo to an email follow-up
    • Cross-domain tracking maintains source data when users move from your marketing site to your app
    • UTMs survive Calendly bookings when you redirect to a thank-you page on your domain
    • OAuth flows (Google, Microsoft sign-in) no longer break the journey
    Read the lessonFree · No email required
  5. PLG + SLGSetupLesson 1.5·10 min read

    Conversion API and match quality 101

    Why match quality 9.3 / 10 is the single biggest unlock for B2B SaaS ads.

    Match quality is the score Meta, Google, LinkedIn, and TikTok give your conversion data based on how well it identifies a real user in their graph. Manual implementations average 4–6 / 10. Cometly’s Conversion API typically delivers 8.5–9.3. That score is why the same ad spend produces dramatically more qualified leads after Cometly is live.

    What you’ll take away
    • Conversion API sends events server-side — no ad blockers, no consent gaps
    • Hashed first-party data (email, phone, IP, user agent) drives the match score up
    • Push downstream events back to platforms — qualified lead, demo attended, paying customer
    • Optimize ad sets toward the deeper-funnel event whenever volume allows
    • Cometly handles dedupe between the in-page pixel and the server-side event automatically
    Read the lessonFree · No email required
Module 02SLG

Sales-Led Growth Reports

For B2B SaaS teams running demos, HubSpot, Salesforce, and long sales cycles.

Demo-driven SaaS attribution is hard because deals close weeks or months after the click. These reports are the ones SLG marketing and operations teams build inside Cometly to map every ad spend back to the deal it created — at the lifecycle, account, and individual ad level.

10 lessons1h 27m read total
  1. SLGReportLesson 2.1·9 min read

    The Pipeline Stages by Source report

    Every HubSpot or Salesforce stage, mapped back to the channel that started it.

    This is the flagship SLG report. It shows leads → MQLs → SQLs → demos booked → demos attended → opportunities → closed-won, broken down by traffic source. It’s the report that proves which channels create pipeline, not just leads, and the one your CFO will ask to see every quarter.

    What you’ll take away
    • Group by Source, with one column per lifecycle stage
    • Add cost-per-stage columns to surface where each channel becomes inefficient
    • Filter to paid sources to compare Meta, Google, LinkedIn ABM, and TikTok side-by-side
    • Use last-non-direct attribution so a final direct visit doesn’t steal credit
    • Drill into any stage to see the contacts and full account-level journey
    Read the lessonFree · No email required
  2. SLGReportLesson 2.2·8 min read

    Cost-per-Stage funnel report

    From cost-per-lead to cost-per-customer, by channel and individual ad.

    Cost-per-lead alone is a vanity metric in B2B SaaS — Meta will happily deliver hundreds of cheap leads that never become opportunities. The Cost-per-Stage funnel report compares CPL, cost-per-MQL, cost-per-demo-booked, cost-per-demo-attended, cost-per-opportunity, and cost-per-customer for every campaign and ad.

    What you’ll take away
    • Surface ads with great CPL but poor MQL conversion — usually low-intent traffic
    • Identify campaigns where the cost-per-attended-demo is 3–5× the cost-per-booked-demo
    • Pause ads on cost-per-customer, not cost-per-lead
    • Compare cost-per-stage to your target CAC — most teams aim for CAC ≤ 1/6 of LTV
    • Add account-level revenue to see true LTV ROAS by source
    Read the lessonFree · No email required
  3. SLGSetupLesson 2.3·12 min read

    Mapping HubSpot deal stages into Cometly events

    MQL, SQL, Demo, Closed-Won — wired in HubSpot, surfaced in Cometly.

    HubSpot deal stages are where pipeline lives, but they only become marketing-actionable once they’re mapped to Cometly events. This playbook walks through wiring each stage in HubSpot to a Cometly event so deal progression flows back into your reports — and back to the ad platforms via the Conversion API.

    What you’ll take away
    • Create a Cometly event for each meaningful stage (MQL, SQL, Demo, Opp, Closed-Won)
    • Use 'Deal Stage Updated' as the trigger from the HubSpot integration
    • Map deal amount as gross revenue on Closed-Won so ROAS calculates correctly
    • Avoid double-counting by filtering Lead events out of MQL reports
    • Use Deal pipeline filters when you have separate sales motions (e.g. SMB vs. Enterprise)
    Read the lessonFree · No email required
  4. SLGSetupLesson 2.4·11 min read

    Salesforce custom triggers for lifecycle stages

    OAuth into Salesforce. Map Lead Status, Opportunity Stage, and custom fields.

    Salesforce attribution is more nuanced than HubSpot because every team customizes their object model. Cometly supports custom triggers on Lead Status changes, Opportunity Stage changes, and any custom field. This lesson covers the standard pattern for B2B SaaS and the most common edge cases.

    What you’ll take away
    • Wire Lead Status → MQL/SQL events for marketing-driven leads
    • Wire Opportunity Stage Changes → Demo Booked, Proposal, Closed-Won events
    • Use account-level triggers when buying committees include multiple contacts
    • Pull Opportunity Amount as gross revenue for closed-won attribution
    • Run a back-test against the last 60 days of opps to validate the mapping
    Read the lessonFree · No email required
  5. SLGPlaybookLesson 2.5·8 min read

    Solving the Calendly iframe UTM problem

    Why your demos book as 'Direct' — and the two-step fix.

    Embedded Calendly widgets break attribution because UTMs don’t survive the iframe boundary. Even when ad clicks land on your page with perfect UTMs, the booking confirmation comes back without source data. Two configuration changes — a pre-Calendly form and a redirect to a thank-you page — restore full attribution and typically recover 30–50% of demo source data.

    What you’ll take away
    • Add a short pre-Calendly form (name + email) so the visitor is identified before booking
    • Configure Calendly to 'Redirect to an external site' instead of showing the confirmation page
    • Point the redirect at a thank-you page on your own domain where the Comet Pixel fires
    • Pass Calendly invitee email and event details as URL parameters to the thank-you page
    • Keep both UTM parameters and Cometly’s `comet_*` parameters in your ad URLs for redundancy
    Read the lessonFree · No email required
  6. SLGReportLesson 2.6·7 min read

    Demo booked vs. demo attended report

    Lead quality lives between the booking and the meeting.

    Booking a demo is cheap; attending one is real intent. This report compares cost-per-demo-booked to cost-per-demo-attended for every campaign, surfacing channels where most bookings disappear before the call and channels where the attend rate is high enough to scale aggressively.

    What you’ll take away
    • Track Demo Booked and Demo Attended as two separate Cometly events
    • Calculate attend rate per source to spot ghost-prone channels
    • Pair with the No-Show Rate by Source report (lesson 2.7) to see the full quality picture
    • Use Demo Attended as the optimization event in the Conversion API for higher-intent volume
    • Set up Slack alerts when target accounts attend a demo for fast SDR follow-up
    Read the lessonFree · No email required
  7. SLGReportLesson 2.7·6 min read

    No-show and cancellation rate by source

    The metric your AEs already track in their head.

    When SDRs and AEs say 'Meta leads never show up' or 'LinkedIn brings the best meetings,' they’re reporting on no-show rate by source. Cometly turns that anecdote into a report by tracking no-shows and cancellations as their own events and grouping them by traffic source.

    What you’ll take away
    • Create No-Show and Cancellation events from your scheduling tool (Calendly, Chili Piper, OnceHub)
    • Track them on the same source as the original Demo Booked event
    • Surface no-show rate as a column on the source-funnel report
    • Use the data to set channel-specific qualification rules in your CRM
    • Pair high no-show channels with stronger pre-call sequences before scaling spend
    Read the lessonFree · No email required
  8. SLGReportLesson 2.8·10 min read

    Account-level attribution for ABM

    B2B buyers come in committees. Attribution should too.

    When a five-person buying committee researches your product, every member is touching different ads, content, and emails. Account-level attribution rolls every contact at the same company up to a single account, so you can see which channels are warming up the entire buying group, not just whoever happened to fill the form.

    What you’ll take away
    • Use HubSpot Companies or Salesforce Accounts as the rollup object
    • Group reports by account domain to deduplicate contacts
    • See all touchpoints across the committee, ranked by stage and recency
    • Spot accounts where multiple contacts engaged before the form fill (a strong intent signal)
    • Sync engaged-account audiences back to LinkedIn for follow-up campaigns
    Read the lessonFree · No email required
  9. SLGPlaybookLesson 2.9·9 min read

    The LinkedIn ABM three-tier campaign structure

    ICP, in-market, and remarketing — three tiers, three jobs.

    Most LinkedIn programs plateau because they treat the platform as one campaign. The teams that scale split LinkedIn into three tiers: ICP prospecting against named accounts, in-market layered with intent signals, and remarketing focused on demo conversion. Cometly’s reports tell you which tier is producing pipeline so you can rebalance budget intelligently.

    What you’ll take away
    • Tier 1 — ICP: matched-audience ads to named accounts and target job titles
    • Tier 2 — In-market: layered with G2 intent, content engagement, and pricing-page visitors
    • Tier 3 — Remarketing: high-frequency demo CTAs to anyone who hit a key page in 30 days
    • Use cost-per-MQL by tier as your reallocation signal — not cost-per-click
    • Push pipeline and closed-won back to LinkedIn’s Conversion API for matched-audience optimization
    Read the lessonFree · No email required
  10. SLGStrategyLesson 2.10·7 min read

    Optimizing Meta and Google for booked demos, not form fills

    Switch the optimization event. Watch lead quality jump.

    Most B2B teams have Meta and Google optimized for form fills because that’s the only event the platforms can see. With Cometly’s Conversion API, you can push demo-booked, demo-attended, and qualified-lead events back to the platforms — and switch your campaign objective to those instead. The algorithm immediately starts hunting for buyers, not browsers.

    What you’ll take away
    • Push at least one mid-funnel event (Demo Booked or MQL) to every paid channel
    • Wait until the event has at least 50 weekly conversions before optimizing on it
    • For lower-volume B2B, optimize on MQL and use Demo Attended as the secondary objective
    • Watch CPL go up and SQL volume go up — that’s the algorithm finding higher-intent users
    • Match-quality scores improve dramatically because Cometly sends richer first-party data
    Read the lessonFree · No email required
Module 03PLG

Product-Led Growth Reports

For self-serve and free-trial SaaS running Stripe-driven revenue.

PLG breaks every standard attribution tool because the value isn’t in the trial — it’s in the paid conversion that happens 7, 14, or 30 days later. These reports are the ones PLG growth teams build inside Cometly to connect ad spend to MRR, ARR, and lifetime value, not just to free signups.

9 lessons1h 12m read total
  1. PLGSetupLesson 3.1·11 min read

    Stripe event mapping for PLG

    Trial Started, Trial Converted, New Customer, Recurring Payment — wired correctly.

    The whole PLG attribution model rests on these four events being mapped cleanly. Most teams get them wrong on the first try and end up double-counting or missing real conversions. This playbook walks through the exact triggers to use in Stripe and the filters that prevent plan-upgrade misattribution.

    What you’ll take away
    • Trial Started — use `customer.subscription.created` with `trial_period_days > 0`
    • Trial Converted — use `subscription.updated` filtered to `trialing → active` status changes
    • New Customer — use the dedicated New Customer trigger so first-time payers don’t double-count
    • Recurring Payment — use `invoice.paid` for ongoing MRR tracking
    • Disable HubSpot Trial / Purchase events when Stripe events are live to avoid duplicates
    Read the lessonFree · No email required
  2. PLGReportLesson 3.2·10 min read

    The Trial Cohort to Paid Customer report

    Group every paying customer back to the cohort of trials they started in.

    Cohort reporting is what makes PLG attribution honest. The trials you ran in March turn into MRR in April, May, and June. This report groups every paying customer by the month, source, and campaign their trial started in, so you can compare 30, 60, 90-day, and 1-year ROAS side-by-side.

    What you’ll take away
    • Group rows by trial-start month and source
    • Columns: Spend, Trials, New Customers, 30/60/90-day MRR, Year-1 LTV ROAS
    • Filter to paid sources only when calculating channel-level ROAS
    • Cohorts mature as time passes — the most recent cohort always looks worst
    • Use this report to justify holding spend through the conversion lag
    Read the lessonFree · No email required
  3. PLGReportLesson 3.3·7 min read

    Trial-to-paid conversion rate by source

    Some channels deliver trials. Few deliver buyers.

    Trial conversion rate (TCR) is the most important PLG metric, and it varies wildly by source. Meta often delivers a high volume of low-converting trials, while LinkedIn and direct often convert at 2–3× the rate. This report makes the difference visible and tells you which channels deserve more spend per trial.

    What you’ll take away
    • Calculate TCR as Trial Converted ÷ Trial Started, grouped by source
    • Compare against your blended TCR to find over- and under-performers
    • Filter by plan to see if higher-priced plans convert at different rates per source
    • Add cost-per-paying-customer (not cost-per-trial) as the headline column
    • Watch TCR drift — falling rates often mean ad creative is attracting wrong-fit users
    Read the lessonFree · No email required
  4. PLGReportLesson 3.4·9 min read

    LTV ROAS by cohort report

    Year-1, Year-2, Year-3 ROAS — the only metric that scales recurring revenue.

    Month-1 ROAS is misleading for subscription businesses because most of the LTV happens in months 7–24. This report shows ROAS at every cohort horizon — 30, 60, 90 days, 6 months, 12 months, lifetime — so you can budget against true unit economics rather than first-month payback.

    What you’ll take away
    • Use Source-Specific attribution to credit channels even when journeys are multi-touch
    • Set the attribution window to Lifetime
    • Track gross MRR contribution from each cohort, not just first-payment revenue
    • Compare LTV ROAS to your CAC payback target (most B2B SaaS uses 6–18 months)
    • Identify channels where year-1 ROAS is poor but year-2 ROAS is excellent — those need patient spend
    Read the lessonFree · No email required
  5. PLGStrategyLesson 3.5·6 min read

    Optimizing Meta and Google for paying customers, not trials

    Same ad spend, dramatically different customer mix.

    If Meta is optimizing on trial signups, it will faithfully deliver more trials — many of which never pay. The unlock is pushing the New Customer (first paid) event back to Meta and Google through Cometly’s Conversion API and switching the campaign objective. The algorithm starts hunting for buyers immediately.

    What you’ll take away
    • Push New Customer events to Meta, Google, LinkedIn, TikTok, and Bing simultaneously
    • Wait for at least 50 New Customer events per week before switching the optimization event
    • Pair the New Customer optimization event with a value parameter to enable ROAS bidding
    • Expect CPL and trial volume to drop and paying-customer volume to rise — that’s the goal
    • Keep the trial event live as a secondary signal for retargeting and lookalike audiences
    Read the lessonFree · No email required
  6. PLGSetupLesson 3.6·8 min read

    Avoiding plan upgrade misattribution

    Why your reports show twice as many trials as they should.

    A common PLG bug: when an existing customer upgrades from a Pro plan to an Enterprise plan, naive Stripe webhooks fire as a new subscription. Reports balloon with phantom trials and conversions. The fix is filtering the `subscription.updated` webhook to only fire when status moves from `trialing` to `active` — a definitive signal of a real trial conversion.

    What you’ll take away
    • Use `subscription.updated` with the `previous_attributes.status = trialing` filter
    • Tag plan upgrades and downgrades as their own events for accurate expansion-revenue reporting
    • Never use simple payment-amount filters as a trial-conversion signal — they capture upgrades too
    • Audit historical trials monthly to catch silent regressions in event firing
    • Keep a 'No Source' bucket visible so you can spot tracking gaps fast
    Read the lessonFree · No email required
  7. PLGReportLesson 3.7·8 min read

    Plan-level attribution report

    Free trials, $1 trials, Pro, Enterprise — each behaves differently.

    Self-serve SaaS rarely has one plan. Free trials, $1 trials, monthly Pro, annual Pro, Enterprise contracts — each has different conversion rates, LTV, and channel mix. This report breaks attribution down by plan so you can scale spend toward whichever plans your CFO actually wants more of.

    What you’ll take away
    • Use a plan-name filter on each Cometly event mapped from Stripe
    • Add a Plan dimension to your source attribution report as a column or grouping
    • Track LTV by plan to allocate ad spend toward the highest-margin tier
    • Identify channels that over-index on free trials vs paid plans
    • Use plan-level audiences in your ad platforms to bias toward higher-LTV customers
    Read the lessonFree · No email required
  8. PLGReportLesson 3.8·7 min read

    MRR by acquisition channel report

    Stop reporting on signup volume. Start reporting on dollars added.

    Trial counts and signup numbers don’t pay the bills — MRR does. This report rolls every paying customer up to the channel that acquired them and shows MRR added per source over time. It’s the headline number for PLG founders and CFOs because it links ad spend directly to the line on the income statement.

    What you’ll take away
    • Use the New Customer event with gross-revenue (MRR) as the value parameter
    • Group by Source and time-bucket by month for a clean MoM trend
    • Pair with churn data from Stripe to see net-MRR added per channel
    • Compare against ad spend in the same period for a simple MRR / spend efficiency ratio
    • Surface this report on the executive dashboard so attribution stops feeling theoretical
    Read the lessonFree · No email required
  9. PLGStrategyLesson 3.9·6 min read

    Cometly + Mixpanel + Stripe: how the three fit together

    They answer different questions. Run all three, not one.

    PLG teams often ask whether Cometly replaces Mixpanel or PostHog. The honest answer is no — they answer different questions. Mixpanel and PostHog tell you what users do inside your product. Stripe tells you what they paid. Cometly tells you which ad they came from and ties that source back to both. Each tool is best at its own job; together they’re a complete PLG stack.

    What you’ll take away
    • Mixpanel / PostHog → product engagement, activation, feature usage
    • Stripe → subscriptions, MRR, churn, LTV
    • Cometly → which ad / channel / campaign drove the user, then ties it to product + payment events
    • Use Cometly to attribute, Stripe to monetize, and Mixpanel to retain
    • Don’t try to do attribution inside Mixpanel — it can’t see ad clicks at the platform level
    Read the lessonFree · No email required
Module 04PLG + SLG

Ad Platform Optimization

Feeding richer data back to Meta, Google, LinkedIn, TikTok, and Bing.

Reporting is only half the value of attribution. The other half is sending cleaner, deeper-funnel data back to the ad platforms so their algorithms find more of your real customers, not just more of the same lookalike pool. These lessons apply to both PLG and SLG teams running paid acquisition.

5 lessons38m read total
  1. PLG + SLGSetupLesson 4.1·9 min read

    Meta Conversion API setup for B2B SaaS

    Server-side events that survive iOS, ITP, and ad blockers.

    Meta’s in-page Pixel sees roughly half of your real conversions on iPhone in privacy-restricted regions. The Conversion API closes that gap by sending events server-side from Cometly directly to Meta — with hashed first-party identifiers and a deduplication key that prevents double-counting against the in-page pixel.

    What you’ll take away
    • Send standard events (Lead, CompleteRegistration, Purchase) plus your custom funnel stages
    • Include hashed email, phone, IP, user agent, and click ID for the highest match score
    • Use a stable event_id between the in-page pixel and the CAPI event for dedupe
    • Map MQL, Demo Booked, and Closed-Won as custom events for SLG
    • Map New Customer and First Payment as custom events for PLG
    Read the lessonFree · No email required
  2. PLG + SLGSetupLesson 4.2·8 min read

    Google Enhanced Conversions and offline conversion import

    Two channels, two integration paths, one source of truth.

    Google Ads has two ways to ingest first-party data: Enhanced Conversions for in-page events and Offline Conversion Import for CRM-driven events like deals closed. Cometly handles both automatically, but the events you push to each are different. This lesson covers what to send where and the GCLID handling that ties them together.

    What you’ll take away
    • Enhanced Conversions: hashed user data attached to Lead, Trial Started, Purchase events
    • Offline Conversion Import: pipeline events (MQL, SQL, Closed-Won) keyed off GCLID
    • Capture GCLID as a hidden field on every form for offline conversion import
    • Push Closed-Won deal value as the offline conversion value for ROAS bidding
    • Watch the Match Quality column in Google Ads — Cometly typically delivers 'Good' or 'Excellent'
    Read the lessonFree · No email required
  3. SLGSetupLesson 4.3·7 min read

    LinkedIn Conversion API for ABM

    Match qualified leads back to the LinkedIn ad that started them.

    LinkedIn’s Conversion API has been a dramatic upgrade for B2B SaaS — but only if the events you send are downstream of form fill. Cometly pushes MQL, Demo Booked, Demo Attended, and Closed-Won back to LinkedIn so its bidding algorithm optimizes toward pipeline, not lead-gen-form completions.

    What you’ll take away
    • Send Demo Booked and Demo Attended events as the primary optimization signals
    • Add Closed-Won with the deal amount for value-based bidding
    • Use account-level conversions where supported to align with ABM measurement
    • Layer matched-audience and account-targeting against your closed-won audience
    • Watch the LinkedIn Insight Tag match-rate jump as Cometly enriches the identifiers
    Read the lessonFree · No email required
  4. PLG + SLGStrategyLesson 4.4·6 min read

    Audience syncing: closed-won lookalikes and exclusion lists

    Send the platforms more buyers and fewer freeloaders.

    Lookalike audiences are only as good as the seed list. Most teams seed Meta and LinkedIn lookalikes from a CRM export that’s 3–6 months old, full of churned customers, and missing offline-only deals. Cometly keeps a live audience of paying customers, MQLs, and high-intent visitors synced to your ad platforms in real time.

    What you’ll take away
    • Sync 'paying customers' as a high-intent lookalike seed (refresh weekly)
    • Sync 'churned customers' and 'free-only users' as exclusion audiences
    • Sync 'engaged accounts' for ABM retargeting — including non-form-fill engagers
    • Use 1% lookalikes for tight match, 5–10% for prospecting
    • Refresh seeds at least monthly so the audience reflects your current ICP, not last quarter’s
    Read the lessonFree · No email required
  5. PLG + SLGPlaybookLesson 4.5·8 min read

    Match quality troubleshooting

    Going from 4 / 10 to 9.3 / 10 — the practical checklist.

    Match quality is what separates 'pixel installed' from 'pixel actually working.' If Meta or LinkedIn is showing scores in the 4–6 range, your Conversion API is probably missing identifiers, sending stale data, or firing on the wrong events. This lesson walks through the diagnosis and the fix.

    What you’ll take away
    • Check that hashed email is being sent on every event — not just Purchase
    • Add hashed phone, IP, and user agent as additional matchers
    • Capture the click ID (`fbclid`, `gclid`, `li_fat_id`) on landing and pass it through to the conversion event
    • Send events server-side via Conversion API, not browser-only
    • Push deeper-funnel events (Demo Booked, New Customer) — they carry more identifying info than Lead events
    Read the lessonFree · No email required
Module 05PLG + SLG

Strategy & Reporting

Translating ad performance into the language of CFOs and boards.

The last mile of attribution is making the numbers usable for the people who hold the budget. These reports and frameworks turn Cometly data into the dashboards your finance team trusts, the slides your CMO presents to the board, and the decision rules your growth team uses to scale spend.

4 lessons32m read total
  1. PLG + SLGDashboardLesson 5.1·9 min read

    Building a marketing dashboard for the board

    Five tiles every board deck needs. Skip the rest.

    Most marketing dashboards have too many tiles to drive decisions. Boards want to know whether the marketing engine is working: total spend, total pipeline or new MRR, blended CAC, payback period, and channel mix. This lesson covers how to build that dashboard in Cometly so you can update it in 30 seconds before every board meeting.

    What you’ll take away
    • KPI Row: Spend, Pipeline (SLG) or MRR Added (PLG), CAC, LTV ROAS, Active Customers
    • Channel Mix: stacked bar of revenue by source, MoM
    • Funnel: Spend → Leads → MQLs → Demos → Customers (SLG) or Trials → Customers (PLG)
    • Trend chart: blended CAC and CAC payback over the last 12 months
    • Anomaly callouts: top three channel changes period over period
    Read the lessonFree · No email required
  2. PLG + SLGReportLesson 5.2·8 min read

    The CFO-ready ROAS report

    Real ROAS, not platform-reported. The number that survives audit.

    Platform-reported ROAS is wishful thinking — Meta credits itself for view-through purchases, Google credits itself for branded search clicks, and the totals frequently exceed your real revenue by 30–60%. The CFO-ready ROAS report uses Cometly first-party data, deduplicated, attributed with whatever model your finance team has agreed on, and reconciled against actual revenue from Stripe or your CRM.

    What you’ll take away
    • Use the same attribution model and window every period — don’t cherry-pick
    • Reconcile total attributed revenue against Stripe or CRM totals monthly (target ≥ 95% match)
    • Show paid-only ROAS, blended ROAS, and incremental ROAS as separate columns
    • Include refunds, chargebacks, and churn so net-revenue ROAS is honest
    • Document the methodology in a one-pager so the report is defensible in audits
    Read the lessonFree · No email required
  3. PLG + SLGReportLesson 5.3·8 min read

    CAC and CAC payback by channel

    The decision rule that tells you whether to scale.

    The single most useful number in B2B SaaS growth is CAC payback by channel. If a channel pays back in under 12 months and your churn is below 3.5% per month, you can probably safely scale it. Above 18 months, you need to fix unit economics first. Cometly calculates this directly so you can stop running it in spreadsheets.

    What you’ll take away
    • CAC = paid spend ÷ new paying customers, by source
    • Payback months = CAC ÷ ARPA (average revenue per account per month)
    • Target CAC ≤ 1/6 of LTV for sustainable scale
    • Target CAC payback ≤ 12 months for venture-backed growth
    • Run this report monthly — payback drifts with churn, ARPA, and channel saturation
    Read the lessonFree · No email required
  4. PLG + SLGStrategyLesson 5.4·7 min read

    The channel scaling decision framework

    When to double a channel’s budget, when to cap it, when to kill it.

    Most growth teams make budget decisions on gut and on what Meta or Google’s in-platform UI suggests. A simple rule-based framework tied to Cometly numbers — payback period, CAC trend, conversion rate trend, and saturation indicators — makes those decisions defensible and faster.

    What you’ll take away
    • Scale aggressively when payback is under target AND volume is increasing without CAC drift
    • Hold spend when payback hits target but CAC starts climbing — diagnose creative or audience fatigue first
    • Cap or cut when CAC payback exceeds the threshold for two consecutive months
    • Reset the decision quarterly — channels rotate in and out of efficiency over time
    • Document the rule so handoffs and new hires don’t reset the framework
    Read the lessonFree · No email required
Concept glossary

The vocabulary every B2B SaaS marketing team uses.

Quick definitions for the terms that come up across PLG and SLG attribution work.

Source-specific attribution
Gives a channel credit any time it appears anywhere in the journey. Built for PLG funnels where the same user visits Meta, Google, and email before converting.
Match quality score
The score Meta, Google, and LinkedIn assign your conversion data based on how well it identifies a real user in their graph. 9.3 / 10 is the practical ceiling.
Conversion API (CAPI)
Server-side API for sending conversion events directly from Cometly to Meta, Google, LinkedIn, TikTok, or Bing — bypassing ad blockers and ITP.
MQL / SQL
Marketing-Qualified Lead and Sales-Qualified Lead. Lifecycle stages in HubSpot or Salesforce that mark whether a contact is ready for sales engagement.
Cohort LTV ROAS
Lifetime-value ROAS calculated by grouping every paying customer back to the cohort of trials they started in. The honest unit-economics view for PLG.
Cross-device stitching
Linking a click on mobile to a purchase on desktop using fingerprint identifiers (IP, device, hashed email) instead of third-party cookies.
Direct-traffic problem
When 50–70% of CRM attribution falls into 'Direct' or 'Unknown' because UTMs and cookies broke somewhere in the journey. Solved by first-party fingerprint tracking.
CAC payback
How many months of recurring revenue it takes to recover the customer-acquisition cost. The single best heuristic for whether to scale a channel.
FAQ

About the Academy.

Have a request for a lesson we should add? Send it to academy@cometly.com.

Who is the Cometly Academy for?
B2B SaaS marketing, growth, and operations teams running paid acquisition. Lessons are calibrated for teams spending $20K–$500K+ per month on ads, with either a PLG or SLG go-to-market — or a hybrid.
Do I need a Cometly account to follow along?
No. The reports and playbooks are vendor-neutral in concept, but they're written against the way Cometly structures events, attribution models, and integrations. If you're a customer, every report can be built directly inside your workspace.
How is the curriculum organized?
Five modules: Foundations, Sales-Led Growth Reports, Product-Led Growth Reports, Ad Platform Optimization, and Strategy & Reporting. Foundations and the cross-cutting modules apply to everyone. The PLG and SLG modules are deep dives for each motion.
How long does it take to work through?
Each lesson is 6–12 minutes. A focused growth team can work through all foundations and their primary track in a single afternoon. Most teams pick the four or five reports that matter most and build them first.
Will more lessons be added?
Yes. The Academy grows as patterns emerge across customers — particularly around new ad platform features, AI-driven campaign tooling, and changes to Stripe, HubSpot, and Salesforce. Bookmark this page; new modules ship roughly every quarter.

Build the reports.
Scale the spend.

Every lesson here can be built inside Cometly in minutes — typically in the first 30-minute onboarding call. Connect Stripe, HubSpot, or Salesforce live with a solutions engineer and walk away with the dashboard your CFO will trust.