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.
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.
Budget Planning
The minimum spend for a valid Meta test
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
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
Campaign Setup
Start consolidated, expand with data
Initial Structure
| Setting | GrubList Config |
|---|---|
| Campaign Type | Manual (not Advantage+) — gives you age control |
| Objective | App Install → optimize for Trial Start event |
| Targeting | Broad — no interests, no demographics |
| Age | Consider excluding 18-24 (see Section 06) |
| Placements | Automatic (let Meta decide) |
| Attribution | AEM (default) — faster data for testing |
| Budget | $300-350/day ($10K/month) |
| Creatives | 3-5 ads, mix of static + video |
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.
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.
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 Set | Creative Type | Primary Placement | Audience Skew |
|---|---|---|---|
| Ad Set A | UGC Videos | Instagram Reels, FB Reels | Younger (18-34), cheaper CPM |
| Ad Set B | Static Images | Facebook Feed, Instagram Feed | Older (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 Age Trap
The #1 reason app Meta ads look profitable but aren't
Here's what happens without intervention:
- Meta finds that 20-year-olds on Instagram Reels are cheap to acquire
- Your cost per trial looks great — $12 instead of $20
- You celebrate and increase budget
- Two weeks later, you check RevenueCat: trial-to-paid conversion is 15% instead of 40%
- 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.
Attribution: SKAN vs AEM
Choose your framework, but trust none of them completely
| Feature | SKAN | AEM (Default) |
|---|---|---|
| Data Speed | 2-3 day delay | Near real-time |
| Privacy Thresholds | Need 88 installs/day for trial postback | None |
| Under-reporting | ~40% vs product analytics | ~10-20% vs product analytics |
| Audience Quality | Sometimes better | Sometimes worse |
| Default in Meta | Hidden (have to find it) | Yes, default |
| Best For | BAU 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.
Blended Measurement
How to actually know if Meta is working
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
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)
GrubList Lookalike Strategy
Once you have 10K+ paying subscribers in your database:
- Export subscriber list from RevenueCat (IDFAs where available + emails)
- Upload as Custom Audience to Meta
- Create 1% lookalike (narrowest, highest quality)
- Test alongside your broad targeting — run both and compare
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).
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 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