Practitioner pattern · Thomas Petit (Sells consulting services and runs a paid signal-engineering workshop at App Growth Annual; works with Voyantis)
Send every event to every ad network, then pick a different signal for each
What they did
In their words
Signal Engineering: Strategic Data Filtering for Better Ad Performance — Thomas Petit, Independent Consultant
Thomas Petit… problem is that they put all their eggs in one basket, and that basket worked great for a long time, but when it broke, they had no alternative. And one of the reason to have your your signals properly handed is also to have optionality, in the sense of, if what works the best for you is optimizing for free trial, so be it. Or optimizing for value, like for revenue optimization, so be it, that's great. Double down on it and spend 90% on there.
Thomas PetitBut you probably also want to have the other options available, sometimes because it's audience expansion, and I would run an event optimization campaign towards free trial in parallel of a revenue optimization campaign, and Facebook would bring different users to the app. So, for scaling, but also for the many, many cases where things starts to break, which is much more often than people think. So, I'd rather have different options in my in my toolbox, basically. Maybe not for today, if something works, sure, let's let's go all-in on it,
Thomas Petitbut to have this for for later. Also to prep, to experiment a little bit on the side, so, yeah. So, one of the reason I started talking about it, about this topic, was, one, I had the case I had two cases in in my portfolio, where one clearly had their events broken, so we need to fix it. And then, we thought, if we're going to fix it, let's fix it and make it smarter at this same time. And then, I had another client who who worked with a third …
David Barnardshould each of those events managers be seeing 100% of your conversions, 100% of your free trials, 100% of everything? Is that what you're looking for in each individual Events Manager? Or are you looking for Google to be seeing just a percentage of the events, and and Meta to see be seeing a percentage of the events?
Thomas PetitIf you're early in this process, you probably want them all to receive 100%. Like, you don't filter anything, you send 100% of these different events, yes. It's almost normal that the same signal is not going to be the best for every platform, and it's possible that you end up optimizing for revenue in Meta, and for a qualified trial in Google, and for a filter of direct purchase and trial conversion in TikTok, to say something.
Thomas PetitLike, what's going to work is not not going to be universal. Like, every network have different type of users, but also different context, but also different ways of optimizing, like of of valuing the signals that you send them. And on top of it, they don't have the same source. You might be using an MMP and send to all these sources, but it's also very possible that you're sending to Google via Firebase, and to Facebook via the Facebook SDK, and …
Get tactics like this every Monday
New tactics from the week's founder interviews, each linked to where it was said.
More from this episode
- Check that Meta and Google receive the same event counts as your own analyticsGaps of 30-50% are common; fix anything above 10% before touching ads
- Send trial starts, direct purchases, trial conversions and renewals as separate eventsDefault SDK mapping often lumps them all into one event; guest says fix it first
- Send ad networks only the trials likely to pay, as their own eventGuest's go-to first step when paid trial quality lags; no numbers given
- Tell Meta to value some users more or less instead of excluding themKeeps cheap under-25 reach instead of cutting it; no numbers given
- Report each user's expected value at month 13, not what they paid on day oneGuest's main advanced lever; no numbers given
- Look up each conversion's value from a server so you can change it without a releaseAvoids app releases for every price or currency change; says it makes a big difference
- Send your conversion signal within a day, waiting a few hours to see early useVoyantis showed timing matters; guest says signals after 24 hours are nearly useless
- Keep at least 10 conversion events per campaign per day before filteringUnder ~10/day optimization breaks; well above it, fewer better events win
- Report low-value users as worth less and high-value users as worth morePushes delivery toward top users but hides true ROAS; has backfired when overdone
- Compare the value you report with real revenue by country, not just in total
- Send Google only the trials that look likely to payGoogle trials converted at ~15% vs ~40% elsewhere; the fix moved the needle
- Count a business user's yearly plan as worth 5 weekly consumer plansWorked at first; went stale after 18 months of price changes and needed fixing
- Change which events you send to ad networks, even as a young appBig uplift per the guest; details saved for a blog post
- Put all spend behind one channel and one optimization signalGrew from 0 to eight figures in two years, then had no fallback when it broke
- Let a signal specialist filter and send your ad events, and test itOne of two tests looks good, the other doesn't; not conclusive
- Tell ad networks which users reported high anxiety, since they pay far more
- Treat users who rush a 30-screen onboarding in under a minute as low valueHeld for one app; another app found its fastest finishers were its best users
- Change what you report as user value when cash matters more than long-term LTV
- Sell $5-10 top-up credits on top of subscription tiers
- Send buyers to web checkout once the store fee jumps from 15% to 30%Works for them, per the guest; no numbers
- Report a $1 value for non-payers who look likely to stick around
- Report your biggest spenders as mid-value so Meta doesn't stop early
Tags: meta, google, tiktok, signal-engineering, multi-network, event-mapping, optionality