Goals and Attribution

How Defrost measures success across the supported goal types and how on-pace math works.

The goal types

When you create a campaign, you pick one of:

  • Book meetings — Get prospects to book a call or demo. Best when your CTA is a Calendly link or "schedule a 15 min."
  • Get signups — Drive signups for your product or service. Best for PLG products with a "Sign up" CTA. Measured by reply volume today — direct signup attribution is on the roadmap.
  • Start trials — Get prospects to try it free. Best for products gated behind a trial form. Measured by reply volume today — direct trial attribution is on the roadmap.
  • Start conversations — Open dialogue and qualify interest. Best for research, content distribution, or no-CTA outreach.

You can also choose Custom if none fit — describe your goal in your own words and it becomes the goal label on your dashboard. (Older campaigns may show a legacy Pipeline goal; it is no longer offered because CRM-tracked pipeline isn't available.)

How attribution works

Defrost tracks two layers of engagement:

  1. Reply attribution — the Resend webhook fires on every inbound reply; the Haiku reply classifier categorizes it (interested / not interested / out-of-office / unsubscribe / other). Non-automated replies are what your goal progress bar actually counts (see below).
  2. Click attribution — Defrost Track wraps every link in your emails with a tracker URL on t.defrost.app. Clicks and landings are attributed to the source campaign + lead via UTM params + a dft_lead cookie, and show up in the campaign's Journey funnel and the Tracking dashboard.

What actually feeds your goal's progress bar today: for every goal type — meetings, signups, trials, and start-conversations — the dashboard's on-pace math counts non-automated reply volume on the campaign. "Book meetings" also folds in contacts you've explicitly marked as a booked meeting or converted from the inbox. Signups and trials don't have direct attribution yet, so replies stand in as an honest-but-approximate proxy until it ships — you'll see an "Approximated by replies" note on those goal cards as a reminder.

Separately, Defrost has real conversion-tracking features that are not yet wired into goal progress:

  • Mark conversions manually from a lead's journey (Tracking → Conversions tab). This records a timestamped event tied to the lead and campaign, useful for your own reporting, but it doesn't move the goal card's numbers.
  • HubSpot deal webhook — if you've connected HubSpot, a deal moving to Closed Won records a conversion event on the matching lead. Also not yet read by goal progress.

Direct signup/trial attribution and folding manual + CRM conversions into goal progress are both planned; this page will update when they ship.

On-pace math

The dashboard shows a per-goal mini bar comparing actual progress to expected progress assuming a steady linear pace from campaign start to end date.

Different goal types have different attribution lags before the on-pace projection trusts a data point:

  • Book meetings — immediate (0-day lag)
  • Start conversations — immediate (0-day lag)
  • Get signups — 7-day lag
  • Start trials — 14-day lag

Since signups and trials are approximated by reply volume today (see above), these lags are really "give the reply-count proxy time to catch up," not a real click-to-signup attribution window. The dashboard's on-pace pill accounts for the lag either way. A new campaign won't show a "behind" badge until enough time has passed for it to clear.

Multiple goals per campaign

You can have at most one goal per campaign today. A campaign with both a "book demo" and "drive trial signup" CTA is best modeled as two campaigns or a Custom goal described in your own words.

What to read next