Skip to main content
TRACKLAYER · ML PREDICTIVE EVENTS

Send predicted purchases to Meta
before they happen.

Boosted Events trains a per-merchant model every hour and ships predicted_purchase, predicted_repeat, predicted_high_ltv and predicted_churn signals to Meta CAPI, GA4 and Klaviyo. The algorithm gets the conversion data it needs to deliver budget, without you waiting 14 days for it to learn.
// WHAT SHIPS
  • 4 prediction types · purchase · repeat · high_ltv · churn
  • Hourly retraining · per-merchant LR/RFM, ≥100 historical orders
  • ≥ 70% probability gate · below threshold = nothing leaves your edge
  • 3 destinations · Meta CAPI · GA4 · Klaviyo (per-platform toggles)
  • 7-day forecast · projected predicted-conversions per platform
POST graph.facebook.com/v19.0/<pixel>/events
{
  "event_name": "predicted_purchase",
  "event_id":   "predicted_b1c4e3d2-...",
  "event_time": 1714137600,
  "action_source": "website",
  "user_data": {
    "em":  ["a8f5f167f44f4964e6c998dee827110c"],
    "fbp": "fb.1.1714137592.987654321",
    "external_id": ["c3f7e92d..."]
  },
  "custom_data": {
    "predicted_value":       87.50,
    "predicted_currency":    "EUR",
    "predicted_probability": 0.72,
    "model_version":         "rfm-lr-v1",
    "merchant_id":           "glass-house"
  }
}
// THE PROBLEM

Why does Meta lose your budget on cold prospecting?

Meta's delivery model is a hungry one. It needs roughly 50 attributed conversions per ad set per week to exit the learning phase, and it weights server-side purchase signal far more heavily than view content or add to cart. The problem is timing: most paid traffic browses for two to fourteen days before converting, so the algorithm spends your budget on prospecting impressions while waiting for a signal that arrives too late to course-correct delivery.

The standard fix is to widen your attribution window or dump optimisation events from purchase down to add to cart — both of which work and both of which dilute the signal Meta is actually trying to learn from. You end up with a model trained on intent, not outcome, and CPA drifts upward as the auction gets more expensive.

Boosted Events fills the signal gap a different way. Instead of changing the optimisation event, we generate a second, predictive event next to your real one. When a user's recency, frequency and intent score crosses the 70% probability threshold, we ship a predicted_purchase with a deduplicable event_id and an estimated value to Meta CAPI — within minutes, not days.

Your real purchase still fires when it lands. Meta's dedupe key matches, the prediction is reconciled, and the algorithm gets a denser stream of high-quality signal. You keep the optimisation event you actually want, and the learning phase finishes in days instead of weeks.

§ 01

Four predictions, four downstream actions.

Each prediction type has a single job, a single threshold, and a single set of destinations. No magic, no black box.
predicted_purchase0.70

User is likely to purchase in the next 24h.

RFM features + session intent (view_item, add_to_cart, begin_checkout). Gated at 0.7 probability. Sent with predicted_value (decayed AOV) and a deduplicable event_id prefixed predicted_ — Meta reconciles when the real purchase fires.

META CAPIGA4KLAVIYO
predicted_repeat0.70

First-time buyer is likely to repeat within 30 days.

Triggered when an existing customer's session looks like their pre-second-purchase pattern. Klaviyo flag predicted_repeat_buyer powers replenishment and upsell flows. Meta CAPI receives it as a custom event for prospecting suppression.

KLAVIYOMETA CAPI
predicted_high_ltv0.70

User profile matches your top-decile LTV cohort.

Built from monetary feature + product mix. Sent to Meta CAPI as predicted_high_ltv with custom_data.predicted_value so value-based bidding can lean in. GA4 receives it as a user property for audience export.

META CAPIGA4
predicted_churn0.70

Active customer is likely to lapse in the next 30 days.

Inverse RFM signal: high frequency, dropping recency. Klaviyo gets a custom_property to trigger win-back. Meta CAPI does not receive churn predictions (no upside for delivery, risk for spend).

KLAVIYO
§ 02

Hourly LR/RFM training, per-merchant.

The predictor is intentionally simple: linear regression over recency · frequency · monetary features, retrained every hour, gated at 70% probability. Simple is auditable.
01
Collect 30-day signal
Per merchant, pull purchase events (≥ 100 historical orders required) + last-24h session events from Supabase. No external data — first-party only.
02
Build per-merchant features
Recency (exp-decay over days since last purchase), frequency (purchase count in 30d), monetary (sum of value), and intent (view_item / add_to_cart / begin_checkout in last 24h).
03
Score live sessions
Logistic regression on the four features. Probability ≥ 0.7 promotes the candidate; everything else stays at the edge and never leaves your account.
04
Fan out to platforms
Per-merchant toggle decides destinations. event_id is predicted_<uuid> for Meta dedupe. predicted_value, predicted_probability, model_version are attached as custom_data.
// SCORE.SQL · WORKERS/CRON
-- runs hourly per merchant in
-- workers/cron/src/boosted-event-predictor.ts
select
  e.event_id, e.user_email_hash,
  -- recency · frequency · monetary, last 30d
  exp(-extract(epoch from now() - max(p.event_time))
      / 86400 / 14)                 as recency,
  count(p.id)                       as frequency,
  coalesce(sum(p.value), 0)         as monetary
from events e
left join events p
  on  p.user_email_hash = e.user_email_hash
  and p.event_name      = 'purchase'
  and p.event_time     >= now() - interval '30 days'
where e.event_name in
        ('view_item','add_to_cart','begin_checkout')
  and e.merchant_id   = $1
  and e.event_time   >= now() - interval '24 hours'
group by e.event_id, e.user_email_hash;
§ 03

What it looks like in TrackLayer.

Three surfaces: the per-platform switchboard, the seven-day forecast, and the live prediction tail. All visible, all overrideable.
// A · DESTINATIONS
Meta CAPION
GA4 (predicted_purchase)OFF
KlaviyoON
merchant: glass-house.co
model: rfm-lr-v1
trained: 14:00 utc · 4m ago
// B · FORECAST · 7D
META1,284
GA4
KLAVIYO1,019
// C · RECENT PREDICTIONS
14:02:11predicted_purchase0.78meta·klv
14:01:54predicted_repeat0.72klv
14:01:38predicted_high_ltv0.81meta·ga4
14:01:09predicted_purchase0.74meta·klv
14:00:41predicted_churn0.70klv
14:00:22predicted_purchase0.83meta·klv
// HOW IT COMPARES

Nobody else is generating ML signal.

BASED ON PUBLIC DOCS · 04·2026
CAPABILITYTRACKLAYERStapeElevarTripleWhale
Predicted purchase event to Meta CAPI
Per-merchant ML retraining (hourly)
predicted_repeat / high_ltv / churn types
Per-platform on/off toggle
Forecast (next 7d projected predictions)
Deduplicable event_id (predicted_<uuid>)
Probability gate (≥ 70%)
TRACKLAYER
Predicted purchase event to Meta CAPI
Per-merchant ML retraining (hourly)
predicted_repeat / high_ltv / churn types
Per-platform on/off toggle
Forecast (next 7d projected predictions)
Deduplicable event_id (predicted_<uuid>)
Probability gate (≥ 70%)
Stape
Predicted purchase event to Meta CAPI
Per-merchant ML retraining (hourly)
predicted_repeat / high_ltv / churn types
Per-platform on/off toggle
Forecast (next 7d projected predictions)
Deduplicable event_id (predicted_<uuid>)
Probability gate (≥ 70%)
Elevar
Predicted purchase event to Meta CAPI
Per-merchant ML retraining (hourly)
predicted_repeat / high_ltv / churn types
Per-platform on/off toggle
Forecast (next 7d projected predictions)
Deduplicable event_id (predicted_<uuid>)
Probability gate (≥ 70%)
TripleWhale
Predicted purchase event to Meta CAPI
Per-merchant ML retraining (hourly)
predicted_repeat / high_ltv / churn types
Per-platform on/off toggle
Forecast (next 7d projected predictions)
Deduplicable event_id (predicted_<uuid>)
Probability gate (≥ 70%)
§ 04

Three shapes of merchant, three shapes of lift.

Boosted Events earns its tier in the first 60 days. Numbers below are observed in pilot deployments — yours will vary by AOV, conversion lag, and creative.
GLASS HOUSE · 5K ORDERS/MO
−12%
META CPA · 60 DAYS

DTC home goods brand. Enabled predicted_purchase only. Meta delivery exited learning phase 8 days into the test window vs. 21 days on the prior identical campaign — CPA dropped from €38.10 to €33.45 across the same creative.

NORTHFIELD · SUBSCRIPTION COFFEE
+18%
REPEAT-PURCHASE RATE

Wired predicted_repeat into the Klaviyo replenishment flow. Win-back emails fire two days before the model expects re-purchase intent rather than three weeks after the last order. AOV held flat; second-order rate climbed.

MERIDIAN · FASHION DTC
$2.8M
VALUE-BIDDING POOL · Q1

Used predicted_high_ltv to seed a Meta value-based audience. predicted_value is sent in EUR and clamped at top-decile AOV. Spend is identical; iROAS on the predicted-LTV ad set tracks 1.6× the prospecting baseline.

// AVAILABLE ON

Pro and Enterprise.

Boosted Events ML is part of the Pro tier ML moat ($599/mo, 50M events). It ships alongside Predictive Delivery Scoring and Schema Drift detection. Enterprise gets dedicated model inference and custom feature stores.
NEXT

Lift your Meta delivery without lifting your CPA.

Fourteen-day Pro trial. Full access to all four prediction types, Meta + GA4 + Klaviyo destinations, and the live forecast view. No credit card required.
Start free trial →BOOK A DEMO

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.