Founder Playbook · Sub Club by RevenueCat

12 tactics from Thomas Petit

Independent ConsultantManaged nine-digit ad spend across subscription apps; pioneered "signal engineering" concept for optimizing data sent back to ad platforms

Strategic Data Filtering for Better Ad Performance — Thomas Petit, Independent Consultant

Watch the full episode
Distribution
I don't care about the ads manager — show me the events manager. The first thing I'm going to check is: does the amount of conversions the platform reports match more or less what we have internally? Very often it's not the case.

Check the events manager first — not the ad account

Thomas Petit's first diagnostic step on any ad account is not the campaign performance view but the events manager — where he checks whether conversion volumes sent to the platform roughly match internal data. A 5% gap is fine; 30–50% means nothing downstream can be trusted. Broken signal is the single most blocking problem and must be fixed before any creative or bidding optimisation.

Distribution
If it's broken you really need to fix it. Find a place where you're comfortable and dedicate attention on creative. But at some point, as you grow, becoming a little bit more sophisticated about what you're sending is probably going to unlock value.

Signal engineering has three states: broken, default, sophisticated

Thomas Petit frames signal engineering as a progression. State one: data is broken (common at all scales) — fix before anything else. State two: data passes but uses default, unoptimised mappings — acceptable while growing. State three: engineered signals that represent real business value drive the platform's ML. Most apps spend years in state two without realising state three is available.

Distribution
If you're early in this process you probably want them all to receive 100% of events. It's almost normal that the same signal is not going to be the best for every platform.

Send 100% of events to every network first — then filter

Before any filtering or qualification, Thomas Petit sends 100% of all event types (installs, free trials, paid conversions, renewals) to every ad network simultaneously. This baseline lets him verify data quality and gives the platforms their broadest learning signal. Only after confirming the numbers roughly match internal data does he start creating filtered or qualified variants for each network.

Distribution
The real revenue the one that passed by default on the SDK is not the one that I want to be sending because the free trial conversion is going to come too late — it's going to overvalue the yearly over the monthly.

Engineer predicted LTV into your revenue signal — defaults lie to the platform

Ad platforms receive the literal transaction amount by default: a yearly subscription fires a large number on day one, a monthly fires a small one, and a weekly might appear tiny even if it yields high LTV through renewals. Thomas Petit replaces those real-time figures with a predicted value at a fixed horizon (he favours month 13) so the platform's ML targets the users who are actually most profitable — not just the ones who generate the biggest single transaction.

Onboarding
I have a mental health app where when people say they have a high level of anxiety they are so much more valuable than when they say something else — so we factor this question.

Onboarding answers are your best qualifying signal for paid users

Soft factors — things the user voluntarily declares during onboarding — are among the highest-leverage signal engineering levers. When a user states a specific, high-urgency goal, their trial-to-paid conversion and renewal rates are measurably higher. Thomas Petit creates a separate qualified-trial event that fires only when the user's answer matches the high-value pattern, so the platform learns to find more users like them.

Distribution
In my opinion whatever comes after 24 hours is useless for the platform to optimise towards. You need to find something that happens on the first day.

Events fired after 24 hours are nearly useless for platform optimisation

Ad platform ML models learn primarily from signals fired within the first 24 hours of a user's journey. Delayed events — even from free-trial conversions on a 7-day trial — arrive too late for the model to meaningfully adjust. Thomas Petit's rule: identify a first-day proxy for high intent (strong onboarding completion, early feature activation) and use that as the primary optimisation event rather than waiting for the actual conversion.

Distribution
Below 10 events per day per campaign things are going to go a little bit wrong. If you're too early you can't do qualified trials because you already only have five trials per day — don't try to filter them.

Volume vs. quality: you need ~10 events/day per campaign before filtering

Signal engineering's quality improvements are useless if volume is too thin for the platform to learn. Thomas Petit's rule of thumb: below roughly 10 events per day per campaign, focus on increasing volume rather than filtering. At that stage, it's better to send a broader event (including pre-trial intent signals) to give the platform enough data to work with, then layer in qualification once scale is reached.

Product
If you're an indie developer and you're launching a brandless app last month it's very likely that app to web is a full zero — you can't do it all because you've got a small team, it's less likely to work because you don't have this recognition, and the analysis is actually quite tricky.

App-to-web works for brands; for indie apps it is almost always a zero-sum detour

Thomas Petit draws a sharp line on the post-Epic-lawsuit app-to-web opportunity: established brands with existing tooling can capture real gains. For a small or newly launched app without brand recognition, the added complexity of different flows, pricing strategies, refund mechanics, and attribution math almost always outweighs any fee savings. His advice: wait until you have both the brand and the resources.

Audience
If you manage to identify who are these small business one-person business solopreneurs they typically have a completely different value — because it's their business the price sensitivity is obviously very different from somebody who's just trying to make their photo look better.

Identify consumer vs. prosumer/solopreneur users — their LTV is categorically different

Many apps serve both casual consumers and one-person businesses without distinguishing between them. Thomas Petit finds that solopreneurs and small-team users — people whose livelihood depends on the app's output — show dramatically higher LTV, lower churn, and different price sensitivity than purely recreational users. Identifying which onboarding answers or behaviour patterns predict this persona allows you to steer ad platforms toward acquiring more of them.

Distribution
Revisit your assumption every now and then — every 6 months or whatever — or at least control that gap between what we're sending and what is actually happening is not too big.

Revisit signal engineering assumptions every 6 months — they drift as your business changes

Signal engineering is not a set-and-forget system. Pricing changes, monetisation experiments, new channels, and macroeconomic shifts all alter which users are actually valuable — meaning the engineered values sent to ad platforms gradually diverge from reality. Thomas Petit monitors the gap between predicted and actual value; when it widens beyond acceptable tolerances (especially at the country level), he updates the model rather than letting the platform optimise against stale assumptions.

Pricing
All the apps that have some kind of AI usage are finally accelerating this trend because they've got no other choice. The AIP makes a lot of sense where you can buy credits on top.

Hybrid monetisation is coming — AI apps are forcing the issue

Thomas Petit has advocated for hybrid monetisation (subscriptions plus credits or consumables) for years, but adoption has been slow because complexity was prohibitive and low-hanging fruit remained in pure-subscription optimisation. AI-powered apps are breaking the logjam: usage-based costs make a credits model economically necessary, and they are pioneering the flows that other app categories will eventually copy.

Distribution
We don't understand why winning ads win — and our human criteria is not very good, but actually the LLMs they're not very good either. It's more like: mass-produce and see what sticks.

AI for creative analysis is still primitive — we don't know why winning ads win

Despite excitement around AI creative tools, Thomas Petit argues that analysis of why ads work remains the weakest link. Feeding 200 losing and 3 winning creatives to an LLM and asking for patterns yields some output, but those patterns rarely reliably predict the next winner. The honest conclusion is that creative testing is still largely a volume game — produce many variants quickly, identify winners empirically, double down, and keep the exploration pipeline full.