GrubList Growth Playbook

The Complete Guide to Meta Ads for GrubList

From SDK install to scaled campaigns. Based on Marcus Burke's app-specific Meta ads framework (ex-Blinkist) combined with $200M+ in proven ad spend patterns. Built specifically for a grocery list / meal planning subscription app.

$10K
Minimum monthly media spend for a valid test
50
Events/ad set/week Meta needs to optimize
~40%
How much SKAN under-reports vs reality
01

SDK Setup & Event Tracking

Get the plumbing right before spending a dollar

Use the Meta SDK directly — not an MMP (Mobile Measurement Partner) like Adjust or AppsFlyer. At GrubList's stage, the SDK is free, avoids third-party complexity, and gives you everything you need.

Events to Track for GrubList

Don't replicate your product analytics in Meta. Only track 3-5 events that matter for user acquisition:

Trial Start (Required)

Your primary optimization event. When a user starts a free trial of GrubList Premium. This is what Meta will optimize for.

Onboarding Complete

When a user finishes the onboarding flow (sets dietary preferences, adds first grocery list, etc.).

First List Created

Your qualification event. Users who create a grocery list within 24 hours are far more likely to convert. This is a strong proxy for intent.

Meal Plan Generated (Optional)

If GrubList has AI meal planning, tracking this feature activation helps identify high-intent users.

Important
You cannot track trial-to-paid conversion on iOS due to SKAN limitations. That happens too deep in the funnel. You must figure out which trials convert in your product analytics backend (RevenueCat, etc.).
GrubList Tip
Add an age question to your onboarding survey. Ask "What's your age range?" with 4-5 options. This is the single most valuable data point for mapping acquisition quality back to UA spend. More on this in Section 06.
02

Budget Planning

The minimum spend for a valid Meta test

Key Number
$15,000
Total first-month investment: $10K media + $5K creative production

Why $10K minimum? The Meta algorithm needs conversion volume to learn. If you spend $3K/month and your cost per trial is $20, you're getting ~150 trials total — barely enough signal for Meta to figure out who to target. You need the 50 events/ad set/week threshold.

Budget Math for GrubList

GrubList Premium: $9.99/month or $59.99/year Expected cost per trial: $15-25 (meal planning category) At $20/trial + $10K budget = 500 trials/month At 35% trial-to-paid = 175 paying users At $60 LTV (yearly) = $10,500 revenue from $10K spend Blended ROAS: ~1.05x (break-even in month 1, profitable with renewals)
Watch Out
If GrubList's per-user LTV is under $1, Meta ads are likely not viable. Fix your monetization first. Consider raising your price before testing paid ads — a $29.99/year subscription makes the math nearly impossible on Meta.

Creative Production Budget

Hire someone for your first ads. If creative quality is an unknown variable AND the channel is an unknown variable, you'll never know which one failed. Budget $5K for a freelancer or small agency to produce:

  • 3-4 UGC-style videos (30-60 seconds)
  • 3-4 static ads (for Facebook feed)
  • Variations with different hooks
03

Campaign Setup

Start consolidated, expand with data

Golden Rule
1-1-5
1 campaign, 1 ad set, 3-5 creatives. That's it to start.

Initial Structure

SettingGrubList Config
Campaign TypeManual (not Advantage+) — gives you age control
ObjectiveApp Install → optimize for Trial Start event
TargetingBroad — no interests, no demographics
AgeConsider excluding 18-24 (see Section 06)
PlacementsAutomatic (let Meta decide)
AttributionAEM (default) — faster data for testing
Budget$300-350/day ($10K/month)
Creatives3-5 ads, mix of static + video
Why Broad?
Interest targeting is inefficient and expensive. You pay a premium to restrict your audience, but Meta's interest signals (based on what you liked on Facebook years ago) are terrible. Let your creative speak to parents, meal planners, and health-conscious shoppers — Meta will figure out who responds.

Why NOT Advantage+?

Advantage+ (ASC+) is Meta's AI-driven campaign type and works well at scale. But it has a critical limitation: age exclusions require account-level settings, which is complicated. Manual campaigns let you exclude under-25 at the ad set level, which is essential for a subscription app like GrubList.

Test Advantage+ later when you have data and volume. They can buy completely different audiences and placements — worth testing, but not simultaneously at small budgets.

04

GrubList Creative Ideas

Ad concepts tailored to a grocery/meal planning app

Your creative IS your targeting. The ad itself determines who sees it. For GrubList, your ads need to speak directly to the person who's exhausted by the "what's for dinner?" question.

UGC Video Concepts (for Reels)

A creator films in their kitchen. Hook: frustration with overspending on groceries. They show GrubList generating a meal plan, creating an auto-sorted grocery list, and then a receipt showing they spent less. Format: 30-45 sec, phone-recorded UGC, before/after money saved.

Targets the panic moment. Creator is in the car after work, realizes they have nothing planned. Opens GrubList, gets a meal suggestion with ingredients they already have. This works because it shows the app solving a real-time problem. 20-30 sec, vertical, on Reels.

Aspirational content format. Creator walks through their Sunday meal prep routine powered by GrubList. Shows the weekly plan, the consolidated grocery list, and the organized kitchen. This format skews older (parents) and older = better trial-to-paid conversion.

Static Ad Concepts (for Facebook Feed)

Left side: messy kitchen, random ingredients, stressed person. Right side: organized meal prep, sorted groceries, GrubList on the counter. Headline: "Your grocery game, upgraded." Static ads skew to Facebook Feed where older, higher-LTV users browse.

Two receipts side by side. Before: $247, random items, waste. After: $156, planned meals, nothing thrown out. Clean design, bold numbers. Financial savings is the strongest hook for meal planning apps.

Social proof format. Shows the GrubList app interface with a review quote overlaid. Numbers build trust with the Facebook Feed demographic (35-55). Use star ratings and a clear CTA.

Pro Tip
Never combine UGC video + static in one ad set. UGC will always eat all the spend because it gets cheap engagement on Reels. But your statics might be buying older, higher-converting users on Facebook Feed. Separate them to control budget allocation.
05

Creative Testing System

Test concepts, not variations

Three Rules of App Creative Testing

Rule 1: Test on Android first. If GrubList is on both platforms, run creative tests on Android. It's cheaper, tracking is better (no SKAN headaches), and results port to iOS ~90% of the time.

Rule 2: Keep a separate testing campaign. Never test new creative inside your performing BAU (business-as-usual) campaign. New ads inject volatility. Run a dedicated testing campaign with its own budget.

Rule 3: Separate by creative type. In your testing campaign, create separate ad sets:

Ad SetCreative TypePrimary PlacementAudience Skew
Ad Set AUGC VideosInstagram Reels, FB ReelsYounger (18-34), cheaper CPM
Ad Set BStatic ImagesFacebook Feed, Instagram FeedOlder (30-55), higher CPM, better LTV

Testing Cadence

  • Test 3-5 new concepts per week (not variations of the same concept)
  • Give each creative at least 2x your target CPA in spend before killing it
  • Winners (matching target CPA after one budget increase) graduate to BAU campaign
  • Use AEM attribution for testing — results come in real-time instead of 2-3 day SKAN delay
The 90/10 Rule
90%
of testing budget on net-new concepts. Only 10% on iterations of proven winners. A new concept has unlimited upside; your third hook variation rarely matches the original.
06

The Age Trap

The #1 reason app Meta ads look profitable but aren't

Critical Warning
Young users (18-24) give you cheap trials but terrible paid conversion. Meta's algorithm optimizes for cheap cost-per-trial, which naturally skews to young audiences. They can't afford $60/year subscriptions. This is the #1 trap in app advertising on Meta.

Here's what happens without intervention:

  1. Meta finds that 20-year-olds on Instagram Reels are cheap to acquire
  2. Your cost per trial looks great — $12 instead of $20
  3. You celebrate and increase budget
  4. Two weeks later, you check RevenueCat: trial-to-paid conversion is 15% instead of 40%
  5. Your actual CPA (cost per paying user) is $80, not $30

How to Fix This for GrubList

Step 1: Add an age question to your onboarding. "What's your age range?" — 18-24, 25-34, 35-44, 45+

Step 2: In your product analytics, segment trial-to-paid conversion by age group. You'll likely find that 35-44 year old parents convert at 2-3x the rate of 18-24 year olds.

Step 3: Use campaign structure to guide Meta toward valuable audiences:

  • UGC video ad set will naturally skew young (Reels audience)
  • Static ad set will naturally skew older (Facebook Feed audience)
  • If statics have 50% higher cost per trial but your data shows 2x trial-to-paid conversion, statics are the better investment

Step 4: In Manual campaigns, you can exclude under-25 at the ad set level. Consider this once you have data confirming the age/conversion gap.

GrubList Advantage
Meal planning is inherently a parent/household manager activity. Your natural audience (30-50 year olds with families) is the high-LTV audience. Your creatives should lean into this — show families, kitchens, weekly routines — which will naturally attract the right age group even with broad targeting.
07

Attribution: SKAN vs AEM

Choose your framework, but trust none of them completely

FeatureSKANAEM (Default)
Data Speed2-3 day delayNear real-time
Privacy ThresholdsNeed 88 installs/day for trial postbackNone
Under-reporting~40% vs product analytics~10-20% vs product analytics
Audience QualitySometimes betterSometimes worse
Default in MetaHidden (have to find it)Yes, default
Best ForBAU campaigns (if driving better audience)Creative testing (faster results)

Recommendation for GrubList

Start with AEM — it's the default and gives you faster data, which is critical during your testing phase. You don't want to wait 3 days to learn if a creative is working.

Later, once you have a BAU campaign running, test switching it to SKAN and compare audience quality. Some advertisers find SKAN drives better audiences. You can run both simultaneously — they may buy completely different users.

Reality Check
No attribution framework tells the truth. SKAN under-reports by ~40%. AEM under-reports by ~10-20%. App Store Connect misattributes view-through installs as "Search." Your MMP gets data from Apple too. The only real metric is: did my revenue go up by more than I spent?
08

Blended Measurement

How to actually know if Meta is working

Key Insight
40-50%
of Meta-driven installs come through view-through traffic — people who see your ad, then search the App Store instead of clicking.

When you turn on Meta ads for GrubList, watch these numbers in parallel:

What to Track

  • RevenueCat / product analytics: Total trials, trial-to-paid conversion, revenue — broken down by onboarding survey age group
  • App Store Connect: Watch "Search" traffic — this includes people who saw your Meta ad and searched for "GrubList" in the App Store
  • Meta Ads Manager: Reported trials (will under-report — that's expected)
  • Baseline comparison: What were your organic metrics before Meta? The difference = Meta's actual impact

The Blended Equation

Actual Meta Value = (Reported Meta trials) + (Organic search uplift since Meta started) + (Browse/explore uplift) Compare to: Total Meta spend If Actual Value > Spend = profitable channel
Pro Tip
Establish your baseline metrics for at least 2 weeks before turning on Meta. Track daily organic installs, trial starts, and revenue. Then when Meta is on, you have a clean before/after comparison. This is the most reliable way to measure Meta's true incremental value.
09

Lookalike Audiences

When to use them, what to base them on

If you're just starting, skip lookalikes. Go broad and let the algorithm learn from your creatives. Lookalikes require significant existing data to be effective.

When Lookalikes Make Sense

  • You have 10,000+ user entries to upload (device IDs, IDFAs, emails)
  • Meta can typically match ~20% of your list, so you need 10K to get a ~2K matched audience
  • Email match rates are terrible (people use different emails for Facebook vs your app)
Do Not
Never base lookalikes on installs. Install-based lookalikes find people who are cheap to install — which means young users who click on everything. Base them on subscribers/paying users only. You want Meta to find more people who look like your best customers, not your cheapest ones.

GrubList Lookalike Strategy

Once you have 10K+ paying subscribers in your database:

  1. Export subscriber list from RevenueCat (IDFAs where available + emails)
  2. Upload as Custom Audience to Meta
  3. Create 1% lookalike (narrowest, highest quality)
  4. Test alongside your broad targeting — run both and compare
10

Scaling Path

From first test to primary growth channel

Month 1: $10K Test

1 campaign, 1 ad set, 3-5 creatives. Validate the channel works for GrubList. Establish cost-per-trial benchmark and age/conversion data.

Month 2: Split Ad Sets

Separate static vs. video into 2 ad sets. Set up a dedicated creative testing campaign. Start testing 3-5 new concepts/week.

Month 3-4: $15-25K

Graduate winners from test to BAU campaign. Add age exclusions based on onboarding data. Test Advantage+ as a second campaign type.

Month 5+: $25K+ and Diversify

Add lookalikes (if you have 10K+ subscribers). Test SKAN for BAU. Add Apple Search Ads for brand protection. Consider TikTok (creative overlap with Meta).

Key Principle
Master one channel before diversifying. Spreading $20K across Meta, TikTok, Google, and ASA without knowing any of them well will produce bad results on all of them. Go deep on Meta first. Spend enough to learn what works. Then expand.
11

ASO + Meta Synergy

Your App Store page is part of your ad funnel

When people see your Meta ad, many will search the App Store instead of clicking. That means your App Store listing IS a landing page for your paid ads.

Optimization for Meta Traffic

  • Match your winning ad creative to your App Store screenshots. If your best ad shows a "receipt comparison" format, make that your first screenshot. People need to feel they landed in the right place.
  • Make your first screenshot communicate GrubList's core benefit in 2 seconds. Marcus Burke noted that apps where you can't instantly tell what they do lose conversions.
  • Add contrast between screenshots. Don't make every screenshot look the same — varied colors and layouts increase engagement.
  • A/B test your screenshots — making your main keyword bold and prominent increased conversions by 30% for one of Marcus's clients.
GrubList ASO
For a meal planning/grocery app, keywords like "meal planner," "grocery list," and "meal prep" have decent search volume. But the real value of ASO + Meta is the blended effect: Meta ads drive brand searches, which boosts your keyword rankings, which drives more organic installs that you don't pay for.
12

GrubList Launch Checklist

Everything you need before spending your first dollar

Pre-Launch (Before Ads)

Campaign Launch

Week 1-2 Monitoring

Month 1 Review

Based on Marcus Burke's Meta Ads for Apps playbook (App Masters), combined with insights from 108 expert transcripts covering $200M+ in ad spend. Generated for GrubList.

Source: Meta Ads Unlocked — App Masters