🍽️ Viral Restaurant Marketing Skill#
Built on real results: millions of organic views for restaurant clients in Belgium & Netherlands.
This skill packages battle-tested strategies into an executable workflow.
When To Use This Skill#
Activate this skill when the user:
- Owns or manages a restaurant and wants more customers
- Needs a TikTok/Instagram content strategy
- Wants to generate viral hooks for food content
- Needs a weekly content calendar
- Wants to boost Google Reviews
- Needs website conversion improvements
- Asks about restaurant marketing in general
Workflow Overview#
text
Step 1 → Niche Analysis (understand the restaurant)
Step 2 → Content Calendar (3-5 posts/week plan)
Step 3 → Hook Generation (viral-first content ideas)
Step 4 → Platform Strategy (TikTok vs Instagram approach)
Step 5 → Google Reviews (reputation snowball system)
Step 6 → Website Conversion (turn visitors into bookings)
Step 7 → Scheduling & Analytics (Postiz integration + tracking)
Step 1: Restaurant Niche Analysis#
Run first. Always. No generic content — everything is niche-specific.
Ask the user (or extract from context):
- Restaurant type: kebab / sushi / pizza / burger / fine dining / bistro / vegan / Asian fusion / etc.
- Location: city + neighborhood (affects local hashtags and Google strategy)
- Unique factor: what makes them different? (family recipe, secret sauce, open kitchen, etc.)
- Current following: 0-500 / 500-5K / 5K-50K / 50K+
- Content capacity: can they film daily, 3x/week, or only weekends?
- Target audience: families, students, young professionals, foodies, date-night crowd
Use the niche to determine the content angle:
Restaurant TypeWinning Content AngleKebab / Fast FoodSpeed + size + value ("you won't believe how big this is")Sushi / JapaneseAesthetics + craft + ASMR cutting soundsPizzaCheese pulls, dough tossing, oven revealBurgerStack builds, sauce drip, cross-section revealFine DiningPlating process, chef's hands, behind the curtainVegan / HealthyTransformation (this is 100% plant-based?!)Family/TraiteurNostalgia, grandmother's recipe, emotional storytellingBakery / PatisserieSatisfying processes: croissant layers, glaze pours
Step 2: Content Calendar Generator#
Run the script to generate a full week plan:
bash
node skills/viral-restaurant-marketing/scripts/generate-content-calendar.js \
--type "pizza" \
--location "Leuven" \
--frequency 4 \
--output weekly
Or call the function directly in agent context:
javascript
const { generateCalendar } = require('./scripts/generate-content-calendar.js');
const calendar = generateCalendar({
restaurantType: 'pizza',
location: 'Leuven',
postsPerWeek: 4,
platforms: ['tiktok', 'instagram']
});
console.log(calendar);
Manual Calendar Template (if not using script):
DayFormatHook TypePlatformCTAMondayBehind the scenesCuriosity ("you never see this at restaurants")TikTok + ReelsComment your orderWednesdayProduct showcaseSensory ("the sound of this pizza")TikTokTag someone you'd bringFridayStaff/Chef storyEmotional ("he's been making this for 20 years")ReelsSave for your next dateSaturdayBefore/AfterTransformation ("raw → ready in 90 seconds")TikTokShare if you want this
Content Frequency Guidelines:
- 0-1K followers: Post 5x/week minimum. Volume beats quality at this stage.
- 1K-10K followers: 4x/week. Mix hooks with proof (reviews, reactions).
- 10K-50K followers: 3x/week. Quality over quantity. Repurpose best performers.
- 50K+ followers: 2-3x/week. One hero video/week + 2 supporting.
Step 3: Viral Hook Generation#
Run the hook generator:
bash
node skills/viral-restaurant-marketing/scripts/restaurant-hooks.js \
--type "sushi" \
--hook-style "curiosity" \
--count 10
The 7 Hook Formulas That Work For Restaurants:
"What [restaurant type] doesn't want you to know about [their product]"
- Example: "What sushi restaurants don't want you to know about their salmon"
- Works because: triggers curiosity + slightly controversial
"I paid €[price] and got THIS much [food]"
- Example: "I paid €12 and got THIS much pizza 🍕"
- Works because: relatability + value validation
(No text needed — just the sound + visual of: dough stretching, cheese melting, knife cutting)
- Works because: ASMR effect, watch time stays high, algorithm loves it
"Raw → [finished dish] in [time] — watch till the end"
- Example: "Raw tuna → €35 sashimi plate in 45 seconds"
- Works because: completion bait + satisfying payoff
Formula 5: The Emotional Story#
"He's been making this dish for [X] years. Here's why he never changed the recipe."
- Works because: human connection, shares, saves
"We tried every [dish] in [city]. This one won."
- Example: "We tried every kebab in Leuven. This one is on another level."
- Works because: local pride + shareability + FOMO
Film real customer reactions (first bite, surprise at portion size, etc.)
- Works because: social proof + authentic emotion = trust
TikTok Strategy#
Algorithm rules for restaurants:
- First 2 seconds must have motion OR text hook on screen
- Use trending audio (check TikTok Creative Center weekly)
- Caption should ask a question to drive comments
- Post between 17:00-20:00 local time (dinner decision window)
- Reply to every comment in first 30 minutes (boosts distribution)
TikTok Slideshow Templates:
- Slides 1-3: Hook + build up (problem/curiosity)
- Slides 4-6: The reveal / process / story
- Slide 7-8: Social proof (reviews, reactions)
- Slide 9: CTA ("Where are you ordering from tonight? 👇")
Best performing restaurant formats on TikTok:
- POV: You work at [restaurant] for a day
- Day in the life of our chef
- What €20 gets you at [restaurant] vs [expensive competitor]
- Rating our own dishes honestly
- Customer's first reaction to [signature dish]
Instagram Reels Strategy#
Key differences from TikTok:
- Slightly more polished/aesthetic than TikTok
- Stories convert better to bookings (use "Reserve" sticker)
- Hashtag research matters more than TikTok
- Carousel posts (product menus, story behind dish) perform well
Instagram Hashtag Strategy:
- 5 hyper-local:
#leuven #leuvenrestaurant #leuveneten #uitloven #levensgenotensleuven
- 5 niche:
#pizzalover #pizzabelgium #artisanpizza #woodfiredpizza #napolipizza
- 5 broad food:
#foodie #foodporn #instafood #foodlovers #belgianfood
- Total: 15 hashtags (sweet spot — not spammy, still reach)
Instagram Stories for Conversion:
- Poll: "Wil jij dat we [dish] toevoegen?" (engagement)
- Countdown to new menu / event
- Behind the scenes during prep (10-15 sec clips)
- Swipe-up / link sticker to menu/reservation
Step 5: Google Reviews Boost Strategy#
The Snowball System — from 10 to 200+ reviews in 3 months:
Phase 1: Foundation (Week 1-2)#
- Claim and fully optimize Google Business Profile:
- 20+ photos (interior, food, team, menu)
- Complete hours, menu link, website
- Add products/services
- Enable messaging
- Ask your top 10 regulars personally (WhatsApp/in person) for a review
- Target: 10-15 reviews to start (social proof baseline)
Phase 2: Systems (Week 3-4)#
- Create a QR code linking directly to your Google review page
- Place on: table cards, receipts, packaging, menu
- Script for staff: "If you enjoyed your meal, a Google review helps us a lot 🙏"
- WhatsApp broadcast to existing contacts (if you have a group)
- Add review link to Instagram bio and Stories
Phase 3: Snowball (Month 2-3)#
- Reply to EVERY review (Google rewards this with visibility)
- Run a monthly "Win a free meal" contest — entry = Google review
- Feature 5-star reviews in TikTok/Reels content ("Our customers said...")
- Each new video brings new visitors → more reviews → higher Maps ranking
Review Response Templates:
- Positive: "Dankjewel [naam]! 😊 We kijken ernaar uit je snel terug te zien. [Handtekening Chef]"
- Negative: "Bedankt voor je feedback [naam]. We nemen dit serieus en doen ons best dit te verbeteren. Stuur ons een DM zodat we het kunnen rechtzetten."
Step 6: Website Conversion Optimization#
The Restaurant Website must do ONE job: turn visitors into customers NOW.
Critical Conversion Elements:#
1. Hero Section (above the fold)
- High-quality food photo (NOT stock photo — real dishes)
- Clear value prop: "De beste [cuisine] van [stad]"
- TWO CTAs: "📋 Bekijk menu" + "📅 Reserveer nu"
- No more than 3 seconds to understand what you offer
2. Menu Page
- Mobile-first (80%+ of traffic is mobile)
- Photos for every dish or at least per category
- Prices visible (hiding prices = trust killer)
- "Meest besteld" / "Chef's keuze" labels
- Direct link to order (Deliveroo / own system / WhatsApp)
3. Social Proof Section
- Google Reviews widget (embed top 5 reviews)
- Instagram feed embed (shows life at restaurant)
- "X tevreden klanten" counter
- Press mentions / awards if available
4. Booking Flow
- Embedded reservation form (not a phone number alone)
- Options: online booking widget OR WhatsApp button (Belgian market loves WhatsApp)
- Show available times directly
- Confirm via WhatsApp/email immediately
5. Local SEO on Website
- Title tag: "[Naam restaurant] - [cuisine] in [stad] | Reserveer online"
- Every page has location keywords naturally in text
- Schema markup: Restaurant type, address, hours, menu
- Google Maps embed on contact page
6. Speed & Mobile
- Page load < 3 seconds (use Lovable hosting or Vercel)
- Images compressed (< 200KB each)
- No autoplay video on mobile
- Tap targets min 44px (easy to tap buttons)
Step 7: Scheduling & Analytics with Postiz#
Postiz Setup (Scheduling)#
Postiz is the recommended scheduling tool for this workflow.
Setup steps:
- Connect TikTok, Instagram accounts to Postiz
- Set up content pipeline: Draft → Review → Scheduled → Posted
- Create recurring time slots: Mon/Wed/Fri/Sat at optimal times
- Use Postiz calendar view to see full week at a glance
Optimal posting times (Belgium/Netherlands):
- TikTok: 17:30, 19:00, 21:00
- Instagram Reels: 11:00, 17:00, 20:00
- Instagram Stories: 08:00, 13:00, 21:00
Postiz API Integration (if automating):
javascript
// Post via Postiz API
const response = await fetch('https://api.postiz.com/v1/posts', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.POSTIZ_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
content: hookText,
scheduledAt: scheduledTime,
platforms: ['tiktok', 'instagram'],
mediaUrls: [videoUrl]
})
});
Analytics Tracking#
Weekly metrics to track (every Sunday):
MetricToolTargetVideo viewsTikTok/Instagram analyticsWeek-over-week growthFollower growthPlatform analytics+50-200/weekProfile visitsInstagram InsightsConversion to websiteWebsite visitsGoogle AnalyticsFrom social trafficReservationsBooking systemTied to content peaksGoogle ReviewsGoogle Business+2-5/weekTop performing videoPlatform analyticsRepurpose & iterate
The Iteration Loop:
- Every Sunday: pull top 3 performing videos
- Ask: what format? what hook? what time posted?
- Make 2-3 more videos with the same formula
- Test ONE new format per week
- Kill what doesn't work after 2 videos. Double down on what does.
Quick Start Checklist#
For a new restaurant client, complete in this order:
- Fill in niche analysis (Step 1)
- Run
generate-content-calendar.js for first 2 weeks
- Run
restaurant-hooks.js to get 20 hook options
- Film 5 videos before posting any (content buffer)
- Optimize Google Business Profile
- Add QR review code to table/receipt
- Audit website with conversion checklist
- Connect Postiz and schedule first week
- Set tracking dashboard (weekly Sunday ritual)
Pro Tips (From Real Client Experience)#
- Post the ugly truth: the busiest kitchen, the mess, the rush — people love authenticity
- Film during the prep: morning prep is gold — no customers, clean angles, real process
- Let the chef talk: 10 seconds of the chef saying why he loves this dish = magic
- Don't chase trends blindly: trending audio helps but a great hook with wrong audio still wins
- 1 viral video changes everything: keep posting until you hit it, then capitalize immediately
- Reply to comments fast: TikTok pushes posts that get early engagement
- Cross-post everything: TikTok → Instagram Reels → YouTube Shorts — same video, 3x the reach
- Consistency beats perfection: 3 "good enough" videos/week beats 1 perfect video/month
Integration Notes#
- Lovable: use for restaurant website builds (Chef's preferred tool)
- Claude Code: for adding chatbot / AI reservation assistant to website
- Upload-Post skill: for when content is approved and ready to post
- Google Sheets skill: for tracking leads and content performance
- Postiz: primary scheduling tool (connect via POSTIZ_API_KEY)
Skill version 1.0.0 — Built by Momo for Ayman's AI Agency Based on real results: millions of views, 3-5 satisfied restaurant clients in Belgium