Practitioner pattern · Thomas Petit (Sells consulting services and runs a paid signal-engineering workshop at App Growth Annual; works with Voyantis)
Send ad networks only the trials likely to pay, as their own event
Guest's go-to first step when paid trial quality lags; no numbers given
What they did
What happened
In their words
Signal Engineering: Strategic Data Filtering for Better Ad Performance — Thomas Petit, Independent Consultant
David Barnard… kind of gone into and given a lot of what I would guess were are kind of more advanced signal engineering practices, but let's step back, and like once you get your data right, or believe you have your data right, what's the low-hanging fruit in signal engineering? Like, where would you say are the first kind of few steps folks should take to start changing the default mappings of how these SDKs operate by default? Like, what's the first step?
Thomas PetitSo, we mentioned that that's a what's the second step, because the first step is the is monitoring that the events are passing properly, which is not a given. But the second step for me would be either going to what we call qualified trials or filtered trials, and typically, that would be when you see that the your free trial rates are either not as good as other networks, or not as good as what they used to be. And also because you don't need huge engineering around revenue prediction, and so on, to do this,
Thomas Petitlike, so basically make a regression of, okay, let's analyze this free trials that are not converting. Sometimes, is a combination of like what I call hard factors, which are like the device itself, maybe the language, like not something the user has told me, but something that is like in the hardware itself. It's well known that the most recent device converts much better, and so maybe I'm going to filter all these very old iPhone.
Thomas Petit… "Oh, I'm just browsing around, I don't really have the intent." Like, this is basically what I'm they're telling you. And those I'm probably going to want to exclude. In this case, either you've got the platform SDK, so like, or typically you're sending it through an MMP, more rarely through like a custom API. A custom API, you send whatever you want, so like, I mean, you filter the events yourself, you send it, but it's the least common case.
Thomas PetitThrough the MMP, what I'm doing is actually asking my engineers, I'm going to want to add a new event. I'm not going to filter the existing event. The free trial is going to remain a free trial. Okay, if there is a free trial, and the answer to this question is this, then send it to Adjust, AppsFlyer, or Singular as being subscribe, or whatever. And then, Facebook is going to start receive it, and I'm going to have it. It works the same in the Facebook SDK, like it just can have the default configuration,
Thomas Petitbut then you can set up your own events. I'm not talking about custom events, it's just you can force But that's done on the engineering side. That's something the marketers are not doing. That's something that requires to open the code and actually do it. So, I know marketers are getting smarter with code these days, but And this is one thing where I call it signal engineering, because there's engineering behind it, in the sense of, I'm actually …
Thomas Petit… types of users. They would have like more pure consumer users, like full B2C, but then they would have small teams, a lot of solopreneurs, people with a Shopify shop, or influencers, who are actually they're a one-person business. Like, and there's a lot of them. If you manage to identify who are like these small business, one-person business, solopreneurs, they typically have a completely different Of course, if you're improving their business,
Thomas Petitbecause their post gets seen more, or the video are higher quality, or whatever, yeah, the the price sensitivity of this, because it's their business, is obviously very different from somebody who's just trying to make their photo look better. And this is one that is one of the most common things, like, so yeah, age, goals, and I don't know how to define this, like typology of users between like consumer, and prosumer, and real businesses, like and big businesses. Like, this one is a very big one.
David BarnardYeah. I know you talked to the MMPs a a lot, and have some limited insights into some of these ad networks. Is this something you think the MMPs and ad networks could do better? Like, should, you know, AppsFlyer and Adjust and Singular, you know, should they be building these kind of signal engineering tools into their tooling to to make this easier? And then, you already mentioned the like the bid multiplier and things like that that Meta's …
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
- 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
- Send every event to every ad network, then pick a different signal for each
- 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, qualified-trials, onboarding-questions, mmp, regression