SaaS Conversion Tracking: Which Event to Bid On
SaaS conversion tracking: choose between sign-up, activation, PQL, SQL and paid as your Google Ads and Meta bid event, and move it down the funnel.
Facebook ads for SaaS: send trial, activation and subscription events through the Conversions API so Meta finds users who activate and pay, not sign-ups.

This post covers how to run Meta ads for a self-serve SaaS product or app so Meta optimizes for users who activate and pay. For which funnel step to bid on, read SaaS conversion tracking: which event to bid on. For the Conversions API basics, see the Meta Conversions API setup guide.
Meta’s delivery system looks for more people like the ones who fire your optimization event. Optimize for CompleteRegistration and it finds people who register: some buyers, plus students, competitors and throwaway emails. Cost per sign-up falls, trial-to-paid falls with it, and the dashboard looks better every week.
The fix is to tell Meta what happens after the sign-up, from your product database.
Send three events, all from your backend:
value, currency and predicted_ltv (Meta for Developers).value, currency and predicted_ltv properties (Meta for Developers).The browser Pixel can’t see activation or payment. Those happen in your app and your billing system, often days after the ad click. Send them server to server:
_fbp and _fbc cookies on the sign-up request and store them on the user record, next to the email.external_id. Meta accepts any unique advertiser ID there and recommends hashing it (Meta for Developers). Send it on every event so Meta can tie StartTrial, activation and Subscribe to one person.fbp, fbc, IP address and user agent unhashed (Meta for Developers).Then check Events Manager. Event Match Quality scores your customer data out of 10 for how well it matches events to Meta accounts. Event coverage shows the share of Pixel events also sent through the API with shared dedup keys, and Meta’s goal is 75% (Meta for Developers). Meta reports Event Match Quality for web events only, so app events won’t show a score.
This step takes the longest in our tracking setup, because it touches product code.
Meta says an ad set usually exits learning after about 50 results in the week after its last significant edit (Meta Business Help Center). Count the optimization event, per ad set.
The funnel math and the stage-by-stage rules are in the event-choice post. On Meta, three practical moves follow from them:
Value optimization tells Meta to prefer conversions with higher values. Meta’s docs say it works for all standard and custom events on the Sales objective, and that you need value and currency on the event, consistent across Pixel and Conversions API when you send both (Meta for Developers).
That means you can stay on StartTrial for volume and still teach Meta which trials matter. Assign each trial an expected value from your own data. A hypothetical example:
Put that number in value. Meta also accepts predicted_ltv on StartTrial and Subscribe (Meta for Developers); send it too, but the value optimization guide asks for value and currency, so the number you want Meta to bid on goes in value. Recalculate the weights each quarter from real cohorts.
Advantage+ is now a state any Sales, App promotion or Leads campaign can reach. A campaign enters it when Advantage+ audience, Advantage+ campaign budget and Advantage+ placements are all on. The Sales objective replaces the old Advantage+ shopping campaigns, and App Installs replaces Advantage+ app campaigns; from Marketing API v25.0 you can no longer create either legacy type through the API (Meta for Developers).
For a web-based SaaS product, run a Sales campaign optimized for your trial or activation event with all three levers on.
For a mobile app, Meta’s app event optimization shows install ads to people likely to take a specific in-app action. It needs the Meta SDK with app events configured (Meta for Developers). If you already measure across ad networks with a measurement partner, Meta points app advertisers to its partner directory for that route (Meta for Developers). Optimize for StartTrial or Subscribe in the app, not the install.
Meta removed detailed targeting exclusions in 2025, but custom audience exclusions still work (Meta for Developers). Upload your paying customers as a customer list and exclude them. That’s the one audience setting worth your time.
Your creative now decides who sees the ad. A video about onboarding a sales team reaches sales managers. A video about invoicing freelancers reaches freelancers.
Four angles give Meta different people to find:
Build the ad around the activation event you optimize for. If activation means “connected the first integration”, show the integration working, and you attract people who want that outcome.
For B2B SaaS, name the role and the job in the first line: “For finance leads closing the month in spreadsheets”.
Send them wherever the activation event happens.
Every extra handoff, such as a web sign-up before an app download, loses people and breaks the event chain Meta learns from.
Measure cohort payback, not cost per sign-up. Group users by the week they signed up and by source, then track spend against gross-margin revenue from your billing system month by month. The month the cohort’s cumulative margin covers its spend is your payback.
Compare Meta’s reported Subscribe count with paid accounts in your billing data for the same cohort. The gap tells you how much to trust in-platform numbers.
We run this end to end for SaaS companies: product events through the API, ad set structure and creative testing under our Meta Ads management. If you want it mapped for your funnel, start with our free Profit Growth Plan.
They work best for self-serve products with a short path to value, where a stranger can sign up and activate without a sales call. Sales-led B2B SaaS can use Meta too, but volume is lower, so you usually optimize for an earlier event.
Optimize for the deepest event an ad set can reach about 50 times a week. For most SaaS accounts that’s StartTrial with values at first, then activation once the volume is there.
Yes, if you want Meta to learn from activation or payment. Those events happen on your server, where the browser Pixel can’t see them.
Meta scores it out of 10, and higher means your customer data matches more events to Meta accounts (Meta for Developers). Raise it by sending email, external_id, fbp and fbc with every event.
We use cookies for analytics and advertising. You can opt out of the sale or sharing of your data at any time.Cookie Policy
Your browser's Global Privacy Control signal is on, so we don't share your data for advertising.