TL;DR
Keep marketplaces for strangers. Own repeats on your link. Week 0: write pickup language (shelf code, door, car line) and match top SKUs on direct. Week 1: capture phone at checkout and send one confirmation SMS template. Week 2: label bags by channel and run both tablets with one expediter rule. Use the calculator to see monthly commission drag, then route catering and "same as last time" only through your domain.
Ghost kitchens and virtual brands rarely fail on food. They fail on economics. A delivery-only operator doing $18,000 a month in marketplace orders is often sending $2,700 to $5,400 to DoorDash or Uber Eats before labor and rent. That is not a marketing line item. It is rent on guests who already memorized your menu.
You still need the apps for discovery. A first-time guest who finds you on the map is a win. The leak is order two, three, and twelve still routing through a tablet you do not control, with a phone number the platform keeps. This guide is the delivery-only version of the direct ordering playbook: two lanes, one kitchen, pickup anxiety solved in SMS, and a guest file you can actually market to.
Before you rewrite pickup copy or buy new signage, run your current app mix through the calculator below. Slide monthly marketplace volume and commission rate until the fee line matches what you see on statements.
Why Ghost Kitchens Feel Trapped in Marketplace-Only Revenue
Without a dining room, every guest touchpoint is digital. That makes you dependent on map rankings, app promos, and fee-heavy reorders. Catering inquiries land in DMs. "Same as last Tuesday" becomes a phone call your line cook answers mid-rush. Neither path builds a list you can text when you add a lunch special.
Direct ordering for a ghost kitchen is not about looking like a full-service restaurant online. It is about giving high-intent guests a stable URL: clear pickup instructions, honest ready times, and checkout that captures contact info without a third-party middleman.
Acquisition vs Retention: Two Lanes, One Pass
Lane one stays on the apps: new guests, promos you are testing, and markets where you are still building awareness. Lane two is your domain: repeats, catering deposits, add-ons, and anyone who already knows your brand name. Same kitchen. Different ticket metadata and different payout math.
Same guest, two paths. On the apps they find you on the map and the platform keeps the phone number. On your link they land from a receipt, catering email, or bio and opt in at checkout. You can text when the bag is ready, ask for a review, and win them back on your timeline.
Reorder is where the money leaks. Marketplace guests reopen the app, maybe see a competitor promo, and you pay commission again on the same bowl. Direct guests bookmark your link or tap a one-tap reorder. You keep margin and recognize them on the next ticket.

Pickup Anxiety: Confirmations, Shelf Codes, and SMS That Replace "Where Is My Order?"
Delivery-only brands get punished for ambiguity. Guests cannot peek through a window. Your confirmation message is the host. Keep it short, specific, and repeatable every shift.
- Assign a shelf zone or color per hour. Blue tags for 6:00–6:30, green for 6:30–7:00. Runners scan faster than reading full names in dim hallways.
- Print the door or suite on every direct ticket. Commercial kitchens share entrances. "Kitchen B, second door" beats a brand name guests have never seen on a sign.
- Send ready SMS at bagging, not at order accept. One text when the order hits the shelf cuts "almost ready?" calls that clog your line during doubles.

Ready texts land better when they hit the right hour. Use the planner below to line up confirm and ready sends with your rush windows instead of blasting at order accept.
Copy-ready pickup SMS (replace bracketed fields)
- Order confirmed: [BRAND]: Got your order #[ORDER]. Pickup at [DOOR/SUITE]. We'll text when your bag is on shelf [COLOR/ZONE]. Questions? Reply here. Do not call the marketplace line.
- Ready for pickup: [BRAND]: Order #[ORDER] is on shelf [COLOR/ZONE] at [DOOR]. Name on bag: [GUEST]. Show this text at the door.
- Catering handoff: [BRAND]: Catering order #[ORDER] ready [TIME] at [DOOR]. Park in spot [SPOT] if provided. Invoice and changes live on your direct link: [YOUR LINK]
- Bio link line: Order direct for pickup (no app fees on repeats): [YOUR LINK]
TCPA still applies. Only text guests who opted in at checkout. One clear purpose per message beats a marketing paragraph they did not ask for. For channel strategy beyond SMS, see the SMS marketing guide and pair it with online ordering that captures opt-ins by default.
Catering and Repeat "Same as Last Time" on Your Domain
Catering deposits and standing office lunches should never start in a marketplace chat thread. Put them on your direct menu with lead times that match prep reality. When a guest says "same as last time," your staff should answer with a link, not manual re-entry across two tablets.
- Publish catering SKUs only on direct so caps and modifiers stay under your control
- Store repeat buyer emails in your first-party list after the first direct order
- Route win-backs to direct only so you are not paying commission to re-acquire someone you already served
Most ghost kitchens see direct share climb over 60–90 days while app volume stays flat. Map what that shift could look like for your monthly volume before you change ad spend.

Launch checklist before you push the link live
Delivery-only operators who skip pickup clarity see one-star reviews about "hard to find," not food quality. Print this checklist for the pass.
- Mirror top SKUs and modifiers on direct before promoting the URL
- Write door, suite, and shelf color system on a laminated card at the pass
- Test checkout on LTE incognito: scan to confirm under 90 seconds
- Enable contact capture with a stated benefit (ready text or loyalty credit)
- Paste SMS templates into your ordering notifications
- Label marketplace vs direct bags with color or stamp at expedite
- Assign one expediter when both channels spike
- Point Instagram bio and email footer to the same direct URL
- Run marketplace and direct together for 14 days before changing ad spend
Apps stay on for strangers. Your link owns repeats, catering, and the phone numbers that make Tuesday's drop worth sending.
Templates
Common questions about ghost kitchen direct ordering
Ready to own the repeat lane?
Outbites gives ghost kitchens and virtual brands a branded checkout, Stripe or Square payouts, and contact capture without a monthly SaaS bill. Fifteen minutes to set up. One dollar per fulfilled order.
Start with Outbites
Katie Carswell
Account & Social Media Manager
Sharing firsthand stories and lessons learned from running an independent restaurant: margins, marketing, and owning your customer relationships.
How this guide was put together
This article was written for independent food businesses looking for practical ways to grow direct orders, repeat visits, and customer relationships. We keep the advice operator-focused, avoid generic playbooks, and update posts when the restaurant marketing landscape changes.


