DineRoute + Grubhub.
Send your Meta, Google and TikTok ads to a page that routes diners straight into Grubhub — and automatically surfaces your Seamless listing in the same step.
Grubhub is huge in the Northeast. Seamless is even bigger in NYC.
Grubhub and Seamless are the same delivery network with two different brand names — same store IDs, same fulfillment, same kitchen ticket. In Manhattan and the boroughs, more diners still order on Seamless out of habit than Grubhub. Outside the Northeast, Grubhub is the dominant brand. Surfacing both consistently lifts orders 6–10% from the same ad spend.
DineRoute resolves your Grubhub URL once and automatically builds the matching Seamless URL from the same store ID. Two buttons on your branded smart link, one resolve, no second integration fee. The diner picks the brand they recognize.
On every click — Grubhub or Seamless — we fire a real conversion event back to Meta, Google Ads, GA4 and TikTok with the original ad click ID attached. Meta finally optimizes toward diners who tap through, not diners who bounce off a generic Grubhub page.
How we resolve your Grubhub restaurant URLs.
Grubhub publishes restaurant URLs through Google's Places API as part of the `place_action_links` field on your Google Business Profile. We read that field, validate the link points at `grubhub.com/restaurant/`, and extract the underlying restaurant ID.
- 1 You paste your restaurant URL into DineRoute
- 2 We fetch your Google Business Profile via the Places API
- 3 We extract the `food_ordering` link that matches `grubhub.com/restaurant/`
- 4 We construct the matching Seamless URL from the same restaurant ID — automatic sibling resolve
If your Grubhub listing is not yet on your Google profile, paste the URL manually and we validate it. The Seamless sibling is still generated.
place_action_linksfood_orderinggrubhub.com/restaurant/What fires when a diner clicks "Order on Grubhub."
One client-side event. Three server-side mirrors. One shared `event_id`. Four ad platforms in sync.
- 01
Diner taps "Order on Grubhub" on your DineRoute page
Server-rendered anchor with the resolved Grubhub URL pre-baked. A 300ms intercept fires tracking before the handoff. No third-party redirect service.
- 02
Browser pixels fire with a shared `event_id`
Meta Pixel, Google Ads gtag, GA4 and TikTok Pixel all fire `platform_click` with `platform=grubhub` and a shared UUID `event_id`. Location slug is attached for per-location attribution.
- 03
Server-side conversion mirrors fire with the same `event_id`
Meta CAPI, Google sCAPI, GA4 Measurement Protocol and TikTok Events API all receive the matching event. Browser + server deduplicated on the platform side. `fbclid`, `gclid`, `gbraid` and `wbraid` forwarded.
- 04
Diner lands in Grubhub with UTMs in the URL hash
`utm_source`, `utm_campaign`, `utm_medium` and the original `fbclid`/`gclid` are appended as hash params. Grubhub strips query params but keeps the hash, so the data is preserved.
What actually changes in Meta, Google and TikTok.
"Grubhub click" as a custom conversion
Optimize toward `platform_click` (Grubhub). Meta finally has a real signal. NYC restaurants typically see CPA drop 25–40% in the first 30 days because Meta finally separates Seamless-loyal diners from Grubhub-loyal diners.
"Grubhub conversion" with full click-ID capture
Google Ads conversion tag fires with `conversion_label=grubhub`. iOS click IDs (gbraid, wbraid) captured along with gclid.
`platform_click` broken down Grubhub vs Seamless
One report shows you which of the two wins per campaign per location. NYC restaurants almost always see Seamless outperform Grubhub by 20–30%.
Everything Grubhub does, preserved.
DineRoute is a smart link in front of your Grubhub restaurant — the diner lands in the standard Grubhub experience and every native feature still works.
Pickup + delivery
Both options preserved on the Grubhub restaurant page after the diner lands.
Grubhub+ eligibility
If your store is Grubhub+ eligible, the badge surfaces in the Grubhub app as today.
Group ordering
Grubhub group ordering works normally after the diner lands.
Scheduled delivery
Standard Grubhub scheduled-delivery flow, unmodified by DineRoute.
Seamless sibling listing
Same store ID, second brand. We surface Seamless as a separate button on your smart link.
Per-location restaurant IDs
Multi-location chains get one DineRoute link per location, each with the matching Grubhub and Seamless URLs.
DineRoute → Grubhub vs ads sent directly to Grubhub.
What sending Meta ads through DineRoute changes versus pointing them at your Grubhub restaurant page directly.
| Capability | DineRoute → Grubhub | Meta ad → Grubhub 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 Grubhub | Partial — Grubhub strips query params | |
| GA4 + TikTok events fired on click | — | |
| Seamless sibling listing surfaced | — |
Grubhub + DineRoute questions.
How long does it take to set up DineRoute for Grubhub?
About 60 seconds. We resolve your Grubhub restaurant URL from Google's Places API, and because Grubhub and Seamless share store IDs, we generate the matching Seamless URL in the same step.
What Grubhub URL does DineRoute use?
We resolve the live `grubhub.com/restaurant/...` URL from Google's Places API (`place_action_links`, `food_ordering` action). For multi-location restaurants, each location resolves to its own Grubhub URL.
What about Seamless? Do I need to set it up separately?
No. Grubhub owns Seamless and the store IDs are one-to-one. When we resolve your Grubhub URL, we automatically build the matching Seamless URL. Seamless is huge in NYC — most restaurants there see a meaningful order lift from surfacing both.
What if I open a new location on Grubhub?
Add the location in your DineRoute dashboard. We auto-resolve the new Grubhub URL within minutes, and the Seamless sibling is generated from the same store ID.
Are diners refunded through Grubhub or through me?
Grubhub handles all refunds, cancellations 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 Grubhub?
No. The handoff is 300ms and lands them in the Grubhub app or web directly. On mobile it feels like part of your own site.
What if my Grubhub URL changes?
We re-resolve every 24 hours via the Places API. If the URL drifts, DineRoute updates automatically. You can also manually update from the dashboard.
What if my restaurant isn't listed on Grubhub?
DineRoute hides the Grubhub button and routes diners to your other platforms. Once you list, paste the URL or wire it into your Google profile — we surface it automatically.
One resolve. Grubhub and Seamless, surfaced.
60 seconds to publish. Watch your first Grubhub conversion fire from your next Meta ad.
No credit card. 14-day trial. Cancel any time.