customer.subscription.* from Stripe and stage-change webhooks from HubSpot, Salesforce, and Pipedrive, translates them to a canonical signup → trial_started → activation_milestone → paid_subscription → expansion taxonomy, and fans them out to every paid channel with LTV RFM segmentation, anomaly auto-pause on delivery drift, and EU/US residency for Pro+ — so your CAC math finally clears.You optimise Meta on Trial CPA. Two months in, half your trials never reach the paywall and the rest churn at 60%. Cost-per-paid-customer is 4× what Meta thinks. You don't find out until your CFO ties Stripe MRR to ad spend.
Your highest-value channel is LinkedIn. Without a Conversions API call carrying ARR per account, LinkedIn optimises for PageView and SignUp — which is exactly the wrong audience. Enterprise leads don't sign up; they book demos.
customer.subscription.created fires reliably — to your billing system. Forwarding it to Meta, LinkedIn, and Google Ads in real time, with the right event names, hashed user data, and revenue values, is the kind of plumbing that takes a month and breaks every Stripe API version bump.
Add https://api.tracklayer.io/v1/integrations/stripe/subscription-events?merchant_id=… to your Stripe dashboard. Subscribe to customer.subscription.* and invoice.payment_succeeded. We verify the signature with the per-merchant secret you set during onboarding.
customer.subscription.created (trialing) → trial_started. Same event with status=active → paid_subscription. updated with a higher unit_amount → subscription_upgraded. deleted → subscription_canceled. invoice.payment_succeeded with billing_reason=subscription_cycle → subscription_renewed.
Pull MRR / ARR from the Stripe Price object. Hash email + name with SHA-256. Match against li_fat_id, fbp/fbc, and gclid captured by the TrackLayer pixel during signup. Build EMQ for every event so platforms don't silently drop them.
LinkedIn CAPI: paid_subscription → PURCHASE with conversionValue.amount = ARR. Meta CAPI: Subscribe with currency + value. Google Ads: subscribe_paid with conversion value. Klaviyo: trigger trial-end nurture. Idempotent on event_id, retried 3× on 5xx.
Visitors crossing 15 points are promoted to the high-intent queue, with every signal preserved in the dashboard timeline for sales and demand-gen review.
Every day at 09:00 UTC, Pro+ SaaS workspaces send newly qualified high-intent visitors into a dedicated LinkedIn lookalike seed audience. Identity is normalized through TrackLayer's server-side PII hashing pipeline before upload.
The dashboard ranks visitors by total score and shows the exact path: pricing, docs, demo abandonment, competitor research, and repeat visits. Marketing can see why a visitor entered the seed instead of treating it as a black box.
POST /v1/integrations/stripe/subscription-events?merchant_id=acme_42
Stripe-Signature: t=1776954960,v1=a8f5...
Content-Type: application/json
{
"id": "evt_1QbX2jABCDEF",
"type": "customer.subscription.created",
"data": {
"object": {
"id": "sub_1Qb...",
"status": "trialing",
"customer": "cus_NZX1...",
"items": { "data": [{
"price": {
"id": "price_1Qa...",
"nickname": "Growth Annual",
"unit_amount": 79900,
"currency": "usd",
"recurring": { "interval": "year" }
}
}] }
}
}
}POST https://api.linkedin.com/rest/conversionEvents
Authorization: Bearer <merchant_li_token>
LinkedIn-Version: 202501
{
"conversion": "urn:lla:llaPartnerConversion:9911",
"conversionHappenedAt": 1776954960000,
"eventId": "stripe_evt_1QbX2jABCDEF_paid_subscription",
"conversionValue": {
"currencyCode": "USD",
"amount": "799.00"
},
"user": {
"userIds": [
{ "idType": "SHA256_EMAIL",
"idValue": "9c2edcec5b3..." },
{ "idType": "LINKEDIN_FIRST_PARTY_ADS_TRACKING_UUID",
"idValue": "lifat_..." }
]
}
}Was bidding LinkedIn on raw signup count. CAC came out to $340. Real CAC (signup → paid) was $1,180.
Wired paid_subscription with ARR to LinkedIn CAPI. 21 days later LinkedIn started preferring SMB-tier signups that actually converted. Real CAC dropped to $720 against the same $12k/mo budget.
Activation rate (signup → first workflow run) sat at 24%. Marketing was ad-firing on signup; paid users were a different cohort entirely.
Added activation_milestone fan-out to Klaviyo + LinkedIn audiences. Marketing now segments 'activated last 30d' as a lookalike seed for LinkedIn — match rate 7.4%, 2.1× the baseline conversion.
Renewals weren't getting credited to ad campaigns; multi-year LTV invisible to bidding. Meta optimised for trial signups, not multi-year cohorts.
subscription_renewed and subscription_upgraded routed to Meta as Subscribe + Purchase with the MRR delta. Bid optimisation shifted toward ICP cohorts with low churn. Net new ARR up 18% in Q1.
Meta CAPI + Google Ads Enhanced Conversions + Klaviyo. Intent signals are visible, but automated LinkedIn seed sync is off.
Adds LinkedIn CAPI, Stripe webhook ingest, MCC mode, multi-touch attribution, and audience compilation.
Turns on daily LinkedIn lookalike seed sync for visitors with intent score above 15, plus higher AI operating limits.
VPC deploy, SLA, custom platform adapters, audit logs in SIEM, and governed regional audience sync.
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.