Diner social launch cookbook (IG · TikTok · Facebook)
Who this is for
You are launching UmaMeats (Toronto food delivery marketplace) and need first diner customers — people who discover the app, place order #1, and ideally reorder within 7–14 days.
This cookbook covers organic + light-boost paths on Instagram, TikTok, and Facebook. It assumes you already have (or are hours from) live menus + driver coverage in a small set of postal-code zones. If supply is thin, do not scale diner ads — fix density first.
North star: Paid first orders in priority zones, not vanity followers.
1. North star & sequencing (cold start)
North star metrics
| Metric | Why it matters | v0 target (adjust per zone) |
|---|---|---|
| Install → first order | Are people who find you actually ordering? | ≥ 25–40% of installs from social UTMs |
| Orders / day in launch zone | Marketplace flywheel signal for restaurants + drivers | Climbing week-over-week for 2 weeks |
| CAC (fully loaded) | Can you afford growth? | Track; pause if CAC > target AOV contribution |
| Reorder D7 / D14 | Retention, not one-and-done promo hunters | Aim upward; measure even if small n |
| Orders per live restaurant / week | Merchant happiness | Prefer density of orders over sparse citywide noise |
Sequencing rule (non-negotiable)
- Pick 1–2 neighbourhood zones with the densest live menus (and enough drivers at lunch + dinner peaks).
- Name the zone in creative (“King West”, “The Annex”, “Leslieville”) — citywide “Toronto delivery” creatives waste attention into empty menus.
- Soft organic 3–5 days while you confirm checkout, ETAs, and promo codes work.
- Then light boosts / ads geo-fenced to those zones only.
- Expand to adjacent zones only when: menus ≥ threshold, drivers online at peaks, and install→order is healthy.
Do not overspend into empty menus
- If a diner opens the app and sees 3 restaurants or 55-min ETAs, you burned trust and CAC.
- Kill or throttle diner spend when: live restaurants in zone < agreed N, or peak driver online % fails for 2 consecutive peaks.
- Prefer hyper-local posts + Stories over broad Toronto interest targeting early.
Content → conversion funnel
Discover (Reel/TikTok/FB) → profile + bio CTA → app store / deep link → browse zone menus → first order with code → reorder nudge
Every post should move one step. Soft sell in the hook; hard CTA at the end.
2. Platform-by-platform path
Shared account setup (do once)
- Brand handle consistent across IG / TikTok / FB (or clearly linked if slightly different)
- Logo + cover that reads as food marketplace, not generic delivery clipart
- Bio mentions Toronto neighbourhoods + order food delivery intent
- Link in bio / website button with UTM:
utm_source=instagram|tiktok|facebook&utm_medium=organic|paid&utm_campaign=diner_zone_launch - Highlights / pinned: How it works · Zones we deliver · First-order offer · Merchant spotlights
- Contact email / WhatsApp for press & partnerships
- Switch to professional / business accounts for insights + ads
- Brand kit: 3–5 hero food stills, 2 app walkthrough clips, 1 logo end-card
Bio formula (adapt):
Toronto food delivery · [Zone A] + [Zone B] · Local restaurants · First order: [CODE] · Link ↓
CTA button: Order / Download / Use offer (pick one; don't rotate daily)
Instagram — path for first diners
Best for: Food discovery, restaurant tags, Stories urgency, Reels reach in 25–40 demo.
Setup checklist
- Business/Creator account + Meta Business Suite linked
- Category: Food & beverage / Delivery
- Location: Toronto (and pin neighbourhood when posting)
- Action button → bio link (App Store / site with UTM)
- Close Friends list optional for soft-launch testers
- Enable Reels remixing carefully; prefer original audio + captions burned in
Profile / bio / CTA
- Name field:
UmaMeats | Toronto Delivery(searchable keywords) - Bio line 1: neighbourhoods live now
- Bio line 2: first-order hook with
[FIRST_ORDER_CODE] - Pinned Reel: 15–20s “how to order in 3 taps” + zone name
Content pillars (rotate)
- Hungry now — dish close-ups + ETA language
- Local gems — independent restaurant spotlights (tag the merchant)
- How it works — browse → cart → track
- Zone launch — “now delivering in [neighbourhood]”
- Offer — first-order credit / free delivery window
- Social proof — early reviews, order screens (blur PII)
Cadence (days 1–14)
| Day type | Reels | Stories | Feed / carousel |
|---|---|---|---|
| Launch weeks | 1/day (or 5–6/week) | 4–8 frames/day | 2–3/week |
| Steady (day 15–30) | 4–5/week | Daily | 1–2/week |
IG keywords in caption (primary — weave naturally, 1–2 phrases):
Toronto food delivery, [neighbourhood] delivery, order takeout Toronto, late night food [area], cuisine + neighbourhood (best biryani Annex)
Hashtags (5–10 per post, not 30):
- Always:
#TorontoEats#TorontoFood - Zone:
#KingWest#TheAnnex#Leslieville#Ossington#KensingtonMarket(pick 1–2 that match the post) - Intent:
#FoodDelivery#OrderIn#TakeoutToronto - Cuisine (1):
#SushiToronto#RamenToronto#HalalTorontoetc. - Brand:
#UmaMeats(optional early)
Alt text: Describe the dish + neighbourhood + “available for delivery on UmaMeats” — helps accessibility and light SEO.
What converts on IG: Vertical Reels with sound-on captions; merchant tags; Stories polls “lunch or dinner?”; countdown stickers for free-delivery windows.
TikTok — path for first diners
Best for: Under-35 discovery, native humour, “order this tonight” impulsivity.
Setup checklist
- Business account; add website link with UTM
- Location Canada / Toronto in profile where available
- Pin 1 how-to-order video + 1 best food video
- Spark Ads readiness: shoot masters you can boost later
- Avoid hard logo sting in first 2 seconds
Bio / CTA
Toronto delivery · [zones] · Code [FIRST_ORDER_CODE] · Link in bio
Content pillars
- Pattern-interrupt food (steam, pour, crunch ASMR-lite — not spammy)
- “POV: you’re in [neighbourhood] and dinner is sorted”
- Duet/stitch local food talk carefully (add value, don’t hijack)
- App demo in native TikTok UI style (fast cuts, big text)
- Offer explainers under 20s
Cadence
- Days 1–14: 1 post/day if capacity; minimum 5/week
- Days 15–30: 3–5/week, double down on winners (views + profile visits + link clicks)
Caption keywords (primary): Same Toronto + zone + delivery intent as IG; TikTok captions can be shorter — put hook text on-screen, CTA + code in caption.
Hashtags (5–8):
#Toronto #TorontoFood #FoodTok #Delivery #OrderNow + 1 zone + 1 cuisine. Skip mega-dumps (#FYP spam stacks look desperate and dilute relevance).
First 1–3 seconds (critical):
- Face or food motion immediately
- On-screen text:
Delivering in [zone] tonightorStop scrolling if you’re hungry in Toronto - No “Hey guys welcome back to UmaMeats corporate channel”
Thumbnail / cover: Clearest food frame + 3–5 word text. Avoid tiny UI screenshots as cover.
Facebook — path for first diners
Best for: 25–45 diners, local Groups, Events for zone launches, Retargeting later. Organic Page reach is weaker than Groups + ads.
Setup checklist
- Facebook Page (not only personal) linked to IG
- About: Toronto neighbourhoods + delivery + offer
- Call-to-action button: Order food / Shop now → UTM link
- Create or join local neighbourhood Groups (follow each group’s promo rules — many ban pure ads; lead with value)
- Meta Ads Manager: separate Diner campaign; geo radius / postal targeting on launch zones only
Content pillars
- Zone launch posts with map/neighbourhood naming
- Restaurant features (owners’ audiences overlap)
- Offer posts with clear code + expiry
- Cross-posted Reels (still native-caption them for FB)
- Soft Group posts: “What’s your go-to [cuisine] in [area]?” then reply with UmaMeats angle
Cadence
- Page: 3–5 posts/week + boost winners
- Groups: 2–3 helpful posts/week max per group (don’t spam)
- Ads: always-on small daily budget only after organic proof of checkout
Caption keywords: Lead with offer + neighbourhood in first line (FB truncates). Hashtags matter less — use 0–3 max.
Primary text pattern:
Now delivering in [Neighbourhood]. Local restaurants on UmaMeats — use [FIRST_ORDER_CODE] for [offer]. Order: [link]
3. Keyword & hashtag banks
Use 1–2 primary phrases in the caption body, 5–12 hashtags, and alt text that restates dish + place + delivery.
Toronto / local (geo)
Toronto, Toronto food, Toronto Eats, TO food, neighbourhood names: King West, Queen West, Ossington, Annex, Yorkville, Leslieville, Riverside, Corktown, Kensington, Chinatown, Little Italy, Danforth, Midtown, North York (only if you actually deliver there)
Food intent
hungry, dinner ideas, lunch near me, what to eat, craving, comfort food, date night food, weekend takeout
Delivery intent
food delivery, delivery Toronto, order delivery, order in, takeout delivery, delivered to your door, same-night delivery
Cuisine clusters (pick matching the creative)
- South Asian / Desi: biryani, butter chicken, dosa, chaat, halal
- East / SE Asian: sushi, ramen, pho, dumplings, Thai
- Comfort / Western: burgers, pizza, wings, pasta
- Healthy / bowls: salads, bowls, smoothie (if merchants support)
- Late night: shawarma, pizza, fries (if zone coverage exists)
Platform placement cheat sheet
| Placement | What to put |
|---|---|
| Caption primary | 1 geo + 1 intent phrase naturally |
| Hashtags | 5–12: 2 geo + 1–2 intent + 1–2 zone + 1 cuisine + optional brand |
| On-screen text | Zone + craving + CTA |
| Alt text (IG) | “[Dish] from [Restaurant] in [Neighbourhood], order delivery on UmaMeats” |
| FB primary text | Offer + zone in first 125 characters |
Example strong tag set (King West sushi Reel)
#TorontoEats #TorontoFood #KingWest #FoodDelivery #SushiToronto #OrderIn #UmaMeats
Rationale: geo + neighbourhood + cuisine + intent + brand — no filler tags.
4. Creative / image / video specs
What converts for first diners
| Type | Use when | Notes |
|---|---|---|
| Hero food shots | Always | Steam, gloss, crunch; fill the frame |
| Lifestyle (table / couch / balcony TO vibe) | Secondary | Keep Toronto-recognizable if possible |
| UGC / customer phone clips | Best social proof | Ask early customers for rights |
| App screens | How-to + trust | Max 30–40% of runtime; zoom UI |
| Merchant faces / kitchen B-roll | Local gems pillar | Builds trust vs faceless marketplace |
Aspect ratios
- Reels / TikTok / FB Reels: 9:16, 1080×1920
- IG Feed still: 4:5 (1080×1350) preferred over 1:1
- Stories: 9:16
- FB feed link ads: 1:1 and 4:5 variants
Hooks (first 1–3 seconds)
- Food motion + text:
[Neighbourhood] — dinner in [X] min - Question:
Still deciding what to eat in [zone]? - Offer:
$[X] off your first UmaMeats order - Pattern interrupt: unexpected pour / cheese pull / knife cut
Thumbnail / cover rules
- One subject, high contrast, readable 3–5 word title
- Face or hero dish, not a dense screenshot collage
- Same font system across covers for brand recognition
Length guidance
- Hook clips: 7–15s (TikTok/IG tests)
- How-to-order: 20–35s
- Restaurant spotlight: 20–45s
- Avoid 90s corporate explainers for cold audiences
What NOT to use
- Stock “happy diverse friends sharing pizza” that could be any city
- Purple-glow startup UI mockups as the hero
- Wall of 30 hashtags
- Citywide claims when you only deliver three blocks
- Misleading ETAs or menus that aren’t live
- Competitor-bashing; focus on local + simple ordering
- Tiny text; assume sound off — burn captions in
5. Post templates (copy-ready)
Replace brackets. Keep CTAs singular.
1. Zone launch
Now delivering in [Neighbourhood]. Local restaurants on UmaMeats — browse, order, track. First order: use [FIRST_ORDER_CODE] for [OFFER]. Link in bio.
2. Hungry-now Reel
[Dish] hitting different on a [weekday] night in [Neighbourhood]. Order delivery on UmaMeats → [FIRST_ORDER_CODE].
3. Local gem spotlight
[Restaurant] on [Street] is live on UmaMeats. Try the [signature dish] delivered in [Neighbourhood]. Tag a friend who needs this. Code [FIRST_ORDER_CODE].
4. How it works
Toronto food delivery in 3 taps: open UmaMeats → pick [Neighbourhood] restaurants → checkout. First order perk: [OFFER] with [FIRST_ORDER_CODE].
5. Lunch rush
Lunch in [Neighbourhood] without leaving your desk. UmaMeats delivery — [cuisine] and more. [FIRST_ORDER_CODE] for [OFFER].
6. Weekend takeout
Weekend plans: couch + [cuisine] from [Restaurant]. Order on UmaMeats if you’re in [zone list]. Code [FIRST_ORDER_CODE].
7. Free delivery window
Tonight only in [Neighbourhood]: [FREE_DELIVERY_WINDOW]. Order on UmaMeats with [FIRST_ORDER_CODE]. Stories for the full list of live kitchens.
8. Social proof
“Ordered [dish] to [Neighbourhood] — easy.” Early diners are in. Your turn → [FIRST_ORDER_CODE] · link in bio.
9. Cuisine cluster
Craving [cuisine] in Toronto? Start with [2–3 dish names] on UmaMeats in [zones]. [FIRST_ORDER_CODE] unlocks [OFFER].
10. Stories sequence (5 frames)
- Poll: Lunch or dinner?
- Photo of hero dish
- “Delivering in [zone]”
- Offer sticker + code
- Link sticker / “bio link”
11. TikTok POV
POV: you’re in [Neighbourhood] and UmaMeats just made dinner a non-decision. [FIRST_ORDER_CODE] in bio.
12. Facebook Groups (value-first)
Hey [Group name] — we’re live with local restaurants delivering in [Neighbourhood] via UmaMeats. If you’re trying [cuisine] tonight, here’s what’s on the app: [1–2 examples]. First-order note: [FIRST_ORDER_CODE] for [OFFER]. Happy to answer questions.
6. 14-day action plan
Pre-flight (Day 0)
- Confirm live restaurant count ≥ N and drivers online for lunch + dinner peaks
-
[FIRST_ORDER_CODE]+[OFFER]live in app; test checkout end-to-end - Bios + UTM links live on IG / TikTok / FB
- Shot list: 6 food heroes, 2 how-to clips, 2 merchant spots, 1 offer graphic
- Tracking sheet: date, platform, post URL, zone, code, installs, first orders
Week 1 — foundation + daily proof
| Day | Focus | Concrete tasks |
|---|---|---|
| 1 | Launch | Post IG Reel + TikTok zone launch; FB Page post; Stories “we’re live in [zone]”; pin how-to |
| 2 | Food porn | Hero dish Reel/TikTok; tag restaurant; Stories poll |
| 3 | How-to | 25s app walkthrough all three platforms; alt text on IG |
| 4 | Local gem | Merchant spotlight; ask owner to share to their IG Stories |
| 5 | Offer | Hard CTA post with code; FB boost $X to 5 km radius of zone only |
| 6 | UGC / proof | Repost early order (permission); TikTok POV |
| 7 | Review | Pull metrics; kill 2 worst creatives; schedule week-2 winners; restaurant/driver health check |
Week 2 — density + iterate
| Day | Focus | Concrete tasks |
|---|---|---|
| 8 | Second zone or deeper | If zone 1 healthy, tease adjacent streets; else double down |
| 9 | Cuisine cluster | 3-post mini series (e.g. ramen / biryani / burgers) |
| 10 | Lunch campaign | 11:30a Stories + short Reel; FB Groups value post |
| 11 | Collab | Co-create with 1 restaurant Reel; dual CTAs |
| 12 | Retarget mindset | Boost best Reel to zone geo; refresh offer creative |
| 13 | Community | Reply every comment < 2h; DM soft CTA to engaged users |
| 14 | Decision gate | Apply kill/scale criteria below; write week-3 plan |
Steady cadence days 15–30: 4–5 Reels/TikToks per week, daily Stories, 3 FB posts/week, weekly metric review every Monday.
7. Offers & CTAs (placeholders)
Until codes are finalized, use these structures in creative and swap in production values.
| Placeholder | Meaning | Example structure |
|---|---|---|
[FIRST_ORDER_CODE] | Promo code string | UMAWELCOME / ZONE1 |
[OFFER] | Customer-facing benefit | $15 off first order / Free delivery on first order |
[FREE_DELIVERY_WINDOW] | Time-boxed perk | Free delivery 5–9pm Fri |
[MIN_ORDER] | If required | on orders $25+ |
[EXPIRY] | Urgency | ends Sunday |
CTA hierarchy (pick one per post)
- Order on UmaMeats (primary)
- Use code [FIRST_ORDER_CODE]
- Link in bio / tap link
- Share to a friend in [neighbourhood]
Landing consistency: Ad/post promise must match the first screen after install (zone available, offer applied or clearly explained).
8. Measurement — leading metrics & kill/scale
Leading indicators (check daily in launch)
- Reach / views on zone-named creatives
- Profile visits → link clicks
- Installs attributed to UTM
- Add-to-cart / first checkout starts (if instrumented)
- Comments asking “do you deliver to X?” (demand map)
Lagging
- First orders from social
- CAC vs contribution margin
- D7 reorder
- Restaurant complaints about no orders (or too many if drivers lag)
Kill criteria (pause or rewrite)
- After ~200 attributed installs, install→first order below target and creatives exhausted
- ETA / stockouts / empty menus spikes after spend
- CAC above agreed ceiling for 3 consecutive days
- Group bans / spam flags — stop Group posting, fix approach
Scale criteria
- Install→order at/above target for 3+ days
- One creative clearly wins (2× median link CTR or orders)
- Supply healthy (restaurants + drivers) at peaks → Increase boost budget only inside winning geos; clone creative to adjacent zone when menus ready
Lightweight scoreboard
Date | Platform | Creative | Zone | Spend | Installs | First orders | CAC | Notes
9. Brand tone reminders
- Practical Toronto marketplace: neighbourhood names, real restaurants, real ETAs
- Merchant-friendly: tag and celebrate kitchens; you’re not “crushing restaurants with ads”
- No generic startup fluff, no fake scarcity, no purple-glow AI aesthetic
- Clarity > cleverness; one CTA; one zone story per post when possible
Related
-
Series playbook: Driver POV (Meta glasses) + restaurant reviews
-
Persona: Diners
-
Campaign checklist: Diner zone launch — IG + TikTok
-
Sequence context: Getting started