If you have ever run Meta Ads for a restaurant, you have probably seen the recommendation: optimize for Link Clicks. The Ads Manager UI nudges you there. Your agency may have set it up that way. Meta’s own auto-suggested objectives often default to it for businesses that can’t pass a Purchase event back.
There is a reason for that, and it is not a good one.
Restaurants almost never have a clean order-confirmation event Meta can read. The order happens on DoorDash, Uber Eats, ChowNow, or Toast — three or four redirects away from the click — and Meta cannot follow you there. So the optimizer settles. It optimizes toward the closest signal it can verify: did the person click the link.
Once you understand what that actually means, the cost becomes obvious.
What “optimize for Link Clicks” really tells Meta
When you choose Link Clicks as your optimization event, Meta interprets that as the conversion goal. The auction model finds you the cheapest possible click. Not the most likely orderer. Not the highest-AOV diner. The cheapest click.
This works fine for content publishers, where a click is the product. It is catastrophic for restaurants, where a click is roughly the most upstream possible signal you could pick. A person clicking a link to your ordering page tells you almost nothing about whether they ordered, whether they ordered $14 or $74, or whether they will ever order again.
The result is a feed full of curious-but-uncommitted impressions, the cheapest swipeable thumbs on Instagram. Meta is doing exactly what you told it to do. The mistake is upstream.
What you actually need
Meta’s optimizer wants to learn from a conversion event that is closer to revenue than Link Click. The further down the funnel that event sits, the better the optimization gets. The hierarchy looks like this:
- Link Click — cheap, useless for restaurant attribution
- Landing Page View — slightly better, still pre-intent
- Add to Cart — meaningful, but requires the diner to start an order
- Initiate Checkout — strong intent signal
- Purchase — the gold standard
Most restaurant marketers stop at Link Click because the events above it require either the diner to start an order on a third-party platform you do not own, or for you to operate your own ordering on Toast or ChowNow with the Pixel installed.
There is a middle path most marketers miss: a server-side platform click event fired when the diner taps “Order on DoorDash” or “Order on Uber Eats” on a smart link page you control. It is not a Purchase. It is, however, dramatically further down the funnel than a Link Click, and it carries the IP, user agent, FBP, and FBC parameters that let Meta’s Conversions API match the user with high confidence.
That is the event Meta’s optimizer will actually learn from. It is the difference between “this user is the kind of person who clicks ads” and “this user is the kind of person who picks DoorDash over Uber Eats for Thai food on a Wednesday at 7pm.”
Why most restaurants can’t fire that event today
To send a server-side platform_click to Meta, you need three things:
- A page you control between the ad and the ordering platform — somewhere to fire the event.
- A Meta Conversions API integration with event dedup logic so you don’t double-count.
- The right parameters: IP, user agent, FBP, FBC, event_id, plus optional FN/LN/EM if you have any first-party data.
If you are running ads straight to DoorDash, you have none of these. The click goes from Facebook to doordash.com and the diner is in DoorDash’s funnel. Meta sees the Link Click and nothing else.
A smart-link layer fixes this without changing your ordering flow. The diner clicks your ad, lands on a brand-aware page that shows DoorDash, Uber Eats, ChowNow, and your direct order link, and chooses one. That choice is the platform_click event. Meta gets the signal it needs. The diner gets the same ordering experience they would have anyway.
What changes when you have the event
Three things change, in order of how quickly you will notice.
Within a week: Match Quality lifts
Meta’s Event Match Quality score is a 0-10 rating of how confidently the platform can match your server-side event to a real user. A pure Link Click campaign typically sits at 2-4. A smart-link platform_click event with IP + UA + FBP + FBC will land you at 7-9 the first day it fires. Match Quality is the single best leading indicator of campaign improvement.
Within a month: Cost per result drops
Once Meta has a few hundred high-quality platform_click events to train on, its optimizer rebuilds the audience model around the patterns it sees. You start paying for impressions Meta believes are likely to convert into a platform click — which is itself a strong proxy for an actual order. CPMs may go up. Cost per platform click goes down. Cost per real order goes down more.
Within a quarter: Lookalikes get sharper
Your seed audience is no longer “people who clicked a link.” It is “people who clicked Order on DoorDash from a Malai Kitchen ad.” Lookalikes built on that seed are 2-3x more useful than lookalikes built on Link Clicks, because the seed itself is closer to revenue.
How to fix it without rebuilding everything
You do not need to change your ordering platform. You do not need to migrate to Toast or rip out ChowNow. You need exactly one new layer in the funnel: a smart-link page between your ad and the ordering platform that can fire a Meta CAPI event when the diner picks a platform.
The smart-link approach is what we built DineRoute around, and it is the same pattern Uber Eats and DoorDash use on their own ad campaigns. It is not a new tactic. It is just one that most restaurants do not realize is available to them.
What to do this week
Audit your active Meta campaigns. Anything optimizing for Link Click on a restaurant ordering destination is leaking budget. You have three options:
- Pause it until you have a better event to optimize toward.
- Pivot to Reach or Brand Awareness if your goal is genuinely top-of-funnel.
- Add a smart-link layer so you can fire platform_click as a server-side event and switch the campaign to optimize for that custom conversion.
The first option is honest. The second is fine if it matches your actual goal. The third is what every restaurant brand running serious paid social should be doing.
If you are running ads and you don’t know what your Event Match Quality score is, you are flying blind. Open Events Manager. Look at the most recent custom event in your Pixel. If it says 2 or 3, the rest of your funnel is academic. Fix that number first.
Related reading: