💎 Growth Gems #124 - Paid UA and Data
Gems from Thomas Petit and Marcus Burke in the RevenueCat webinar How to optimize your ad campaigns with signal engineering
Hi, fellow growth practitioner!
This week, I’m bringing you insights on paid UA and data.
I hope these insights will be valuable!
🥇 TOP GEM OF THE WEEK
In Growth Gems #3 (OG subscribers, put your hand up!), Thomas shared the following gem:
💎 You are left with 2 major levers on the marketing side: 1. The data/event you are feeding back to the machine/algorithm 2. The creatives you are showing to users (⚠️ including the store page!).
5 years later, this couldn’t be more true.
There is a lot of talk about the critical creative part (who wants to generate 100 UGC talking head videos?)…But not much about signal.
This must-watch webinar aims at changing this. Make sure you understand every word, double-check your set up (don’t blindly trust the dev/data team - yes, I said it), and verify you’re set up for success, not fighting an uphill battle!
SPONSORED INSIGHT & RESOURCE
App marketers have long relied on deep links to deliver seamless user experiences—whether it’s driving CRM engagement, powering referral loops, or boosting affiliate conversions.
But with Firebase Dynamic Links (FDL) shutting down on August 25, 2025, it’s time to explore alternatives.
Airbridge put together a DeepLink Plan, a no-code alternative to FDL. You can migrate existing links in minutes, and it’s designed to give you more control over user journeys and visibility into performance.
It’s free forever for up to 10,000 MAU, and Growth Gems readers get 3 months free (even on tiers above 10,000 MAU).
The promo lasts until August 25, 2025. Don’t miss out!
stage: early / growth / scaled
💎 Signal engineering is about designing the data you share with ad networks to optimize campaigns. Instead of using basic approaches like 'bring me all subscriptions,' you can get smarter about what signals you send to platforms to significantly improve performance.
(03:39) by Thomas
stage: early / growth / scaled
💎 Marketers have three main levers for campaigns: creative assets, budget/bidding, and signal (the data you share). While creative gets most attention, signal is one of the last powerful levers we have but is rarely discussed despite its significant impact on performance.
(06:27) by Thomas
stage: early / growth / scaled
💎 Modern ad targeting doesn't work by manually selecting demographic interests. Instead, platforms determine who to target based on two inputs from marketers: the creative assets and the business goal signals (and in the future, maybe just the latter). The platform then uses these to find the right audience.
(09:00) by Thomas
stage: early
💎 When implementing signal tracking, you can use platform SDKs (Meta SDK, Firebase, TikTok SDK) which are free and often sufficient for smaller apps. This is a cost-effective starting point before investing in an MMP (Mobile Measurement Partner).
(12:39) by Marcus
stage: early / growth
💎 Avoid mixing signal sources (like using both an SDK and MMP simultaneously) especially in early stages. This often leads to deduplication issues, filtering problems, and messy data that can significantly impact campaign performance.
(15:11) by Thomas
stage: early / growth
💎 On Meta, start with AEM rather than SKAN, especially if you're at a small scale. AEM doesn't have the same drawbacks as SKAN: delay in events arriving, privacy thresholds, etc. It's best to avoid using too many third parties as it makes the setup more complex and error prone, which mean the Meta SDK might be the best.
(17:35) by Marcus
Meta doesn't report a “match rate” like they do for web events, and Marcus shared in this post what you need to do:
stage: growth / scaled
💎 Having a campaign optimizing for web events (Sales campaign with CAPI to send back signal) in addition to campaigns optimizing for app events derisks your setup because you can shift budgets in case of algorithm changes (like what was observed recently with Meta over-targeting Facebook reels).
(20:45) by Marcus
stage: early
💎 Ad platforms literally give you what you optimize for. If you optimize for clicks, they'll give you cheap clicks that don't convert. If you optimize for installs, they'll give you installs that don't convert to trials. Always optimize for events that align closely with your actual business goals.
(23:27) by Thomas
stage: early / growth / scaled
💎 The fundamental tradeoff in signal optimization is volume versus quality. Even with small budgets, you can usually optimize for events deeper in the funnel than installs. Aim for at least 10 events per day per campaign for stable performance while maximizing quality.
(24:33) by Thomas
stage: early / growth / scaled
💎 There can be value in having multiple events different campaigns optimize for to broaden who you're acquiring and address a bigger market: some might convert and monetize quickly, other over the long run.
(29:32) by Marcus
On the same topic, Thomas later mention this:
It's not necessarily about finding the 1 perfect optimization event/signal, it's about utilizing them in different ways. There are cases where you might:
Want to have 2 campaigns optimizing for the same qualified trial event but with different targets depending on the audience (e.g., > 25yo and < 25yo), just with different target CPA
Use campaigns with different events to attract different audiences, each with their target CPA
I would add that you should also experiment with different events for your web vs. app campaigns (as mentioned last week if you missed it…that’s why you shouldn’t skip the sponsored insight 😂).
stage: early / growth / scaled
💎 In most cases, have your creative testing campaign optimize for the same event as your scaled campaign. Only use a different event (e.g., install) if you validated that you can attract the same audience, not only in terms of demographics (age, gender, device, placement) but also behavior.
(30:50) by Thomas
Same thing is true by geo: validate your creative testing setup.
stage: early / growth / scaled
💎 When optimizing for trials, platforms like Meta often deliver young users who start free trials but cancel quickly because they're cheap to acquire. Use data breakdowns to identify these patterns, then either exclude in your targeting (e.g. 25+ targeting) or use a "qualified trial" event (e.g., only send the event for > 25yo).
(36:25) by Marcus
stage: early / growth / scaled
💎 Think about the questions you could ask during users' first session (within 24 hours) that are likely to indicate which are a better fit (e.g., urgency of problem). If you see this materialize in conversion numbers, then you can use that for your "qualified" event.
(38:50) by Marcus
stage: early / growth / scaled
💎 Instead of filtering positively for your best users (which limits volume too much), try filtering negatively by removing your worst users. This maintains enough volume for the algorithm while improving quality, making it more effective for scaling campaigns than trying to target only your top-performing segments. Figure out the onboarding questions that could allow you to filter out users.
(41:00) by Thomas
stage: early / growth / scaled
💎 Age is often a strong predictor of trial conversion. If you find users below a certain age have poor trial-to-paid conversion, either filter them out of your trial optimization campaigns or create separate campaigns for younger users optimized for different events with appropriate bid levels.
(42:55) by Thomas
Here’s a related LinkedIn post by Marcus👇
stage: early / growth / scaled
💎 Be cautious when filtering out users who immediately cancel auto-renewal. Many of these users might actually convert later, possibly on different subscription products. What appears to be low-intent behavior might actually indicate savvy users who eventually become high-value customers.
(47:44) by Thomas
Look at your data to figure this out: to which extent do early cancellers end up bringing revenue? If your engagement/retention is on the stronger side, it might be the case.
If you determine that they don’t, then the way Marcus later mentions he determined the cancellation window to filter out trialers is by making sure you filter enough of them out. For example, 10% of trial cancellers within 10 minutes and 30% after 10 hours (and chose 10 hours).
Thomas also later explained that events like a “qualified trial” are not as straightforward to trigger when they use signal that can only be detected server-side because you have to withhold the event until it meets the condition.
stage: early / growth
💎 Your product analytics are typically the place where you'll dive deep to analyze engagement and conversion/revenue behavior for different segments in order to determine how you can fine-tune signal (bigger companies might have a data warehouse for that). Make sure you integrate subscription event and revenue (e.g., from RevenueCat) in your product analytics tool (e.g., Amplitude, Mixpanel).
(50:20) by Thomas
stage: early / growth
💎 As you test new optimization events, also check the evolution of placements and demographics in Meta (e.g., age) to see if they do indicate you're targeting and acquiring the higher quality audience you're going after.
(52:15) by Marcus
stage: early / growth / scaled
💎 You can optimize an app promotion campaign on Meta and optimize for conversion API events (CAPI), but through incrementality tests Marcus has found for his clients that there are less CAPI events attributed vs. using the Meta SDK.
(53:25) by Marcus
stage: early / growth / scaled
💎 For Google Ads, it's not clear if there's an advantage in using Firebase events vs. MMP events for campaigns in terms of actual optimization. However there are features like value-optimized campaigns and soon ODM (on device management) that only work with Firebase events.
(1:01:51) by Thomas
stage: early / growth / scaled
💎 Sending back additional signal/events to the ad network allows you to check on user behavior throughout the funnel for different optimization events. Campaigns won't take into account these events for optimization, but it's useful for your analysis. Don't overdo it: send the key funnel events.
(1:05:27) by Marcus
stage: early / growth / scaled
💎 AEM works without SKAN, but also having SKAN properly implemented helps you compare campaigns on the same criteria via Meta's attribution settings.
(1:12:11) by Thomas
stage: early / growth / scaled
💎 If you have a funnel/quiz with purchases on the web you need to be using Meta's Conversion API because the Meta pixel won't capture all the signal. Check your event match quality in the event manager and potentially send additional signal to help attribution.
(1:15:55) by Marcus
stage: early / growth / scaled
💎 In the ad network integrations within your MMP, make sure you send events for "All media sources, including organic" because you're giving more signal to the platform to optimize. If you filter out, you're relying on the definition of "organic" of your MMP. Plus, someone not converting is also giving them signal.
(1:22:25) by Thomas
Thomas did add that you then need decide to which extent you trust the ad network and MMP attribution.
See you next time.
Stay curious!
— Sylvain
Chief Insights Miner at Growth Gems ⛏️
(Fractional) Head of Growth at Reading.com
Growth Consultant/Advisor for high-potential subscription apps (hit reply if you want to chat - bonus if you’re in Education, Meditation & Cooking categories)
🔗 Source:
How to optimize your ad campaigns with signal engineering (RevenueCat Webinar)