A customer sees your restaurant on Google, clicks to your website, and orders a dish that's listed there but actually sold out. They arrive expecting it. This happens because your menu lives in three places—Google Business Profile, your website, your ordering platform—and they're not talking to each other. You fix this by treating menu data as a managed asset, not three separate documents.
Why Three Menus Become a Problem
Each platform serves a different role. GBP shows availability and hours to local searchers. Your website builds trust and ranks for branded searches. Your ordering platform (Toast, Square Online, DoorDash) captures transactions. But when you update prices or availability in one place, the others stay stale. The gap widens over time, especially during seasonal changes or promotions.
The cost is real: a customer books a table for a dish you're out of, a GBP listing shows a happy-hour price you discontinued last month, or a third-party platform lists an allergen you removed. Bad reviews follow.
Build a Single Menu Source
Start by choosing one platform as your source of truth. If you use a POS system like Toast or Square, that should be it—it's live and reflects what your kitchen actually has. If you don't, use a spreadsheet in Google Sheets or a simple database. The key: this becomes the only place you edit menu data.
- Define what lives in the source: dish name, description, price, availability status, dietary flags, allergen info
- Set a weekly or daily refresh cadence—not random updates
- Assign one person to own accuracy; make that role clear
- Document the workflow so a substitute can do it if you're out
Sync to Each Platform
Once you have a source, sync outward. The method depends on which platforms you use.
- GBP menu: Use Google's built-in menu editor, or export from your POS as a CSV and re-import monthly. Some POS systems (Toast, Square) sync directly to GBP.
- Website menu: If you built it in WordPress or Squarespace, upload a CSV or JSON feed if your platform supports it; otherwise, use a plugin that pulls from your source
- Ordering platform: Most third-party platforms (DoorDash, Uber Eats) have an API or CSV import—check their docs. Some POS systems sync directly.
- Seasonal or limited-time items: Create a separate 'active' or 'hidden' status in your source so you can toggle without deleting
A stale menu in one place is worse than no menu at all. It creates broken trust with customers who show up to order something that doesn't exist.
Monitoring and Maintenance
Set a monthly audit: pick a random dish and search for it on GBP, your website, and your ordering app. If the price or status differs, you know your sync is broken. Check the culprit—usually a platform that doesn't auto-sync or a manual edit someone made outside the system.
If you add a new dish, update the source first, then push to platforms one by one. Don't add directly to GBP or your website and hope it syncs—it won't.
See who Google and AI recommend instead of you
Enter your website and get a free check of what Google and AI actually read about your business — and who they point people to instead. No call, no account: the report renders right on the page.
Run my free check →Share this article
Comments
Leave a comment