DineRoute + Seamless.
Send your Meta, Google and TikTok ads to a page that surfaces your Seamless listing alongside Grubhub — and capture the NYC diners who still order on the second brand.
If you run a NYC restaurant, Seamless is half your delivery volume.
Grubhub acquired Seamless in 2013, merged the backends, and let both brands live on. The store IDs are identical, the fulfillment is identical, the kitchen ticket is identical — but in NYC, Seamless still has stronger brand recognition than Grubhub. Order in Brooklyn or Manhattan and the diner is more likely to say "I'll Seamless it" than "I'll Grubhub it." Both apps are on the same home screen for a reason.
Most restaurants run their Meta ads to Grubhub URLs and miss Seamless entirely. DineRoute resolves your Grubhub URL once and builds the matching Seamless URL automatically. Both surface on your branded smart link. The diner picks the brand they know.
On every Seamless click — separately from Grubhub clicks — we fire a real conversion event back to Meta, Google Ads, GA4 and TikTok. You finally see what your Seamless-attributable CPA is. NYC restaurants on DineRoute routinely discover Seamless outperforms Grubhub by 20–30% on Meta CPA because Seamless-loyal diners are higher-intent.
How we resolve your Seamless restaurant URLs.
Seamless URLs are derived from the matching Grubhub restaurant ID. We resolve Grubhub via Google's Places API, parse the restaurant ID, and construct the Seamless URL from the same ID.
- 1 You paste your restaurant URL into DineRoute
- 2 We fetch your Google Business Profile and extract the Grubhub `food_ordering` link
- 3 We parse the Grubhub restaurant ID from the URL
- 4 We construct the matching Seamless URL using the same ID — automatic ownership-map sibling
If your restaurant is not on Grubhub, the Seamless button stays hidden until you list. Seamless cannot exist as a separate listing — it is always derived from Grubhub.
grubhub.com/restaurant/seamless.com/menu/What fires when a diner clicks "Order on Seamless."
Same tracking architecture as Grubhub — but with `platform=seamless` as the discriminator so attribution is separate.
- 01
Diner taps "Order on Seamless" on your DineRoute page
Server-rendered anchor with the derived Seamless URL pre-baked. A 300ms intercept fires tracking before the handoff.
- 02
Browser pixels fire with a shared `event_id`
Meta Pixel, Google Ads gtag, GA4 and TikTok Pixel all fire `platform_click` with `platform=seamless` and a UUID `event_id`. This is a different event from `platform=grubhub` even though they share the underlying restaurant ID.
- 03
Server-side conversion mirrors fire with the same `event_id`
Meta CAPI, Google sCAPI, GA4 Measurement Protocol and TikTok Events API receive the matching event. Browser + server deduplicated. `fbclid`, `gclid`, `gbraid`, `wbraid` forwarded.
- 04
Diner lands in Seamless with UTMs in the URL hash
`utm_source`, `utm_campaign`, `utm_medium` and the original `fbclid`/`gclid` appended as hash params. Seamless behaves like Grubhub — strips query params but preserves hash.
What actually changes in Meta, Google and TikTok.
"Seamless click" as a separate conversion
Optimize toward `platform_click` (Seamless) alongside Grubhub. NYC restaurants routinely find Seamless wins by 20–30% on Meta CPA because Seamless-loyal diners convert at a higher rate.
"Seamless conversion" with full click-ID capture
Conversion tag fires with `conversion_label=seamless`. iOS click IDs captured. Useful for separating Seamless and Grubhub bidding strategies.
`platform_click` Seamless vs Grubhub split
One report shows the sibling ratio per campaign per location. NYC restaurants almost always see Seamless contribute 50–65% of the combined Grubhub-network volume.
Every Seamless feature, preserved.
DineRoute is the smart link in front of your Seamless restaurant — the diner lands in the standard Seamless experience and every native feature still works.
Pickup + delivery
Both order types preserved on your Seamless restaurant page after the diner lands.
Grubhub+ eligibility
Grubhub+ works on Seamless the same way it works on Grubhub — same parent program.
Group ordering
Seamless group ordering works after the diner lands — standard Grubhub-network flow.
Scheduled delivery
Standard Seamless scheduled-delivery flow, untouched by DineRoute.
NYC dominance
Seamless is the dominant brand in Manhattan and Brooklyn — most NYC diners still call it 'ordering Seamless.'
Grubhub restaurant ID derived
One Grubhub resolve gives you the matching Seamless URL automatically.
DineRoute → Seamless vs ads sent directly to Seamless.
What sending Meta ads through DineRoute changes versus pointing them at your Seamless restaurant page directly.
| Capability | DineRoute → Seamless | Meta ad → Seamless directly |
|---|---|---|
| Branded landing page | — | |
| Multi-platform routing | — | |
| Meta Pixel attribution | — | |
| Meta Conversions API (server-side) | — | |
| Custom domain | — | |
| Per-location analytics | — | |
| Conversion event back to Meta/Google | — | |
| UTM + click ID forwarded into Seamless | Partial — Seamless strips query params | |
| GA4 + TikTok events fired on click | — | |
| Grubhub sibling listing surfaced | — |
Seamless + DineRoute questions.
How long does it take to set up DineRoute for Seamless?
About 60 seconds. Because Seamless is owned by Grubhub and shares store IDs, we resolve Grubhub via Google Places and automatically construct the matching Seamless URL.
What Seamless URL does DineRoute use?
Seamless URLs are derived from your Grubhub restaurant ID. Grubhub owns Seamless and the two share IDs one-to-one. We resolve Grubhub via Google's Places API, then build the Seamless URL from the same ID — no scraping, no separate Seamless API.
Why do I need Seamless if I already have Grubhub?
NYC. Seamless predates Grubhub in NYC by a decade and still has stronger brand recognition with Manhattan and Brooklyn diners — many of whom still call it 'ordering Seamless' regardless of the actual app. Surfacing both consistently lifts orders 10–25% from the same ad spend in NYC at no extra cost.
What if I open a new location on Grubhub?
You add the location to Grubhub — Seamless inherits automatically because they share store IDs. DineRoute re-resolves every 24 hours and the matching Seamless URL is generated.
Are diners refunded through Seamless or through me?
Seamless (and behind it Grubhub) handles all refunds and customer service exactly as today. DineRoute is just the smart link in front — we never touch the order or payment.
Do diners notice the redirect to Seamless?
No. The handoff is 300ms and lands them in the Seamless app or web directly. The whole flow feels native on mobile.
What if my Seamless URL changes?
Seamless URLs are derived from Grubhub restaurant IDs, which are stable. We re-resolve every 24 hours via the Places API and DineRoute updates automatically if anything drifts.
What if my restaurant isn't on Seamless / Grubhub?
DineRoute hides the Seamless button and routes diners to your other platforms. Once you list on Grubhub, you get Seamless automatically and the button surfaces on the next resolve.
NYC orders Seamless. Make sure your ads do too.
60 seconds to publish. Grubhub and Seamless surfaced from one branded smart link, separately attributed.
No credit card. 14-day trial. Cancel any time.