Onfleet conversion tracking: your ads take credit for deliveries that never arrived
Your ads send people to a website, a phone number or a Shopify checkout, and the delivery itself runs through Onfleet, where nobody ever sees the ad click. So Google and Meta take credit the moment an order is placed, even when the driver later marks it failed. We carry the click ID from the order onto the Onfleet task, then report only successful first deliveries back to your ad accounts from Onfleet's own webhooks.
Free30 minutesNo obligation
Onfleet · what breaks
What goes wrong when ads feed an Onfleet operation
- 01
"Google says the ad worked, but the driver couldn't deliver"
Your checkout tag fires when the order is placed. Onfleet later logs the task as failed, with a reason like unable to locate, but Google Ads and Meta never hear about it, so bidding keeps buying orders that end at a locked gate.
- 02
"Every weekly water drop looks like a new sale"
Onfleet treats each delivery as its own task with one destination and one recipient. If a Zap or a recurring Shopify order reports every task as a purchase, one five-gallon subscriber counts again each week, inflating return on ad spend.
- 03
"I can't tell which campaign fills the truck"
Onfleet documents no Google Ads or Meta field. Unless your intake path writes the click ID onto the task, a completed mulch load or wash-and-fold pickup can't be tied back to the search term or Meta ad that produced it.
- 04
"Courier accounts and ad leads end up in one pile"
Invited clients creating orders in the Client Portal sit next to one-off website bookings. Count them all and Meta learns from accounts you already had, while your cost per new customer looks far better than it is.
Onfleet · the fix
What changes after the fix — Onfleet
Ads learn from deliveries that happened
Google Ads and Meta receive a conversion only when Onfleet marks the task successful, valued at the order total. Failed and deleted tasks are never sent.
New customers counted once
The first completed delivery to a recipient is the acquisition conversion. Refills, standing orders and Client Portal orders go to retention reporting instead.
Campaign answers for your kind of route
You see which search terms and Meta ads bring meal plan subscribers, gravel and topsoil loads, or ice orders that actually reached the customer.
Onfleet · architecture
What Onfleet actually lets you hook into
Onfleet is dispatch software with no tag box, but its webhooks and task data can drive server-side conversions.
- 1
No ad platform connections
Onfleet's API docs and its Zapier listing show no Google Ads, GA4, GTM or Meta Pixel integration.
- 2
A webhook for each task event
Triggers include taskCreated, taskCompleted (fires when a task is marked successful), taskFailed, taskUpdated and taskDeleted. Each POST is signed with an HMAC-SHA512 X-Onfleet-Signature header.
- 3
Task metadata and custom fields
Tasks carry metadata entries with a name, type, value and visibility, set or updated through the API even after completion, and the API can search tasks by them. Custom fields can be set at creation. We confirm whether your Zap can carry the click ID or needs an API step.
- 4
Zapier in both directions
Zapier actions create tasks and orders; its Onfleet triggers include Task Complete and Task Failed. We prefer the direct webhook so every signature gets verified.
- 5
A tracking link you don't control
Each task gets a tracking URL on Onfleet's onf.lt domain. Its documented settings cover colors and which driver and order details show, not analytics code.
Onfleet · diagnose
Where Onfleet tracking breaks, in the order we check
We start at the order, because the click is usually lost before Onfleet ever sees the delivery.
- 01
Does the click ID survive your checkout or form?
One test order from an ad-tagged URL, then a look at the order record.
- 02
Does it reach the Onfleet task?
Check the task's metadata, custom fields and notes, then the Zap's field mapping if it's missing.
- 03
Do CSV uploads bypass your automation?
Onfleet skips taskCreated for tasks imported from the dashboard, so anything listening for it misses those orders.
- 04
Which event is counted as the sale?
If it fires at checkout or on task creation, failed and deleted deliveries still count.
- 05
Are repeat recipients flagged?
Completed tasks per recipient compared with your customer list.
Onfleet · prove
The QA evidence — Onfleet
Run on a live order dispatched to a real driver, not a dashboard-only test.
Source of truth
Onfleet task export: completed and failed tasks by date, with order ID, recipient and completion details
- A test order placed from a tagged URL, with the click ID visible on the Onfleet task.
- The taskCompleted webhook received, its signature verified, and exactly one conversion logged in Google Ads and Meta Events Manager with a shared event ID.
- A task marked failed in the driver app confirmed absent from every destination.
- A repeat delivery confirmed outside the new-customer conversion.
- Successful tasks matched one by one against ad-reported conversions over a closed week.
- Repeated 30 days later and after any change to your Zap, API code or order form.
Onfleet · free audit
What we check in the free audit
- Does the click ID survive your checkout or form?
- Does it reach the Onfleet task?
- Do CSV uploads bypass your automation?
- Which event is counted as the sale?
- Are repeat recipients flagged?
Checked against
Onfleet task export: completed and failed tasks by date, with order ID, recipient and completion details
Free30 minutesNo obligation
Onfleet · when not to buy
When you don't need this on Onfleet
Plenty of Onfleet accounts have nothing worth attributing yet.
- If your volume comes from invited courier clients in the Client Portal and you don't run ads, there's nothing for us to connect.
- If most orders are phoned in by regulars, retention reporting will tell you more than ad attribution.
- If failed deliveries are rare and you only advertise on one platform, an accurate checkout tag may be close enough, and we'll say so.
Onfleet · what we deliver
The event map on an Onfleet delivery business
Order or quote request with click ID
Website form, tracked call or checkout, with the gclid or fbclid saved on the order.
Qualified order
Inside your delivery zone and for something you actually deliver. Out-of-area and spam requests excluded.
Task created in Onfleet
From a Shopify Zap, the API or a CSV upload, with order ID and click ID written onto the task as API metadata or a custom field. A leading signal, not the sale.
Delivery completed
The conversion. Triggered by taskCompleted with completionDetails.success true, valued from the order record.
Delivery failed or deleted
Caught from taskFailed or taskDeleted and withheld from every destination, with the failure reason kept.
Repeat delivery or Client Portal order
Logged for retention and account reporting, and excluded from new-customer conversions.
Written guarantee
95%+ tracking accuracy
Measured against Onfleet task export: completed and failed tasks by date, with order ID, recipient and completion details. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Onfleet questions, answered
Not directly. It has no ad integrations, but its taskCompleted and taskFailed webhooks can feed a server container that sends completed deliveries to Google Ads and Meta's Conversions API.
For most delivery businesses it's the completed delivery, with the order kept as a secondary signal. That keeps failed drops out of what Smart Bidding and Meta learn from.
No. The click ID has to be captured on your website or checkout and written onto the task by the Zap or API code that sends the order to Onfleet, as metadata through the API or as a custom field.
No, it's a workable setup. We check that the Zap carries the order ID and click ID, and that a recurring order doesn't create a fresh conversion every week.
They still become tasks, but Onfleet doesn't fire taskCreated for dashboard imports. We key conversions to taskCompleted, which covers every task.
Not usefully. It lives on Onfleet's onf.lt domain, and its documented settings cover branding and displayed details, not analytics code. We measure the order and the completed task instead.
More on Onfleet
- Enhanced ConversionsEnhanced Conversions enrich the conversions that already fire. First we make sur…
- Meta CAPIA one-click CAPI integration sends thin events. That's why your Event Match Qual…
- Cross-Domain TrackingYour checkout provider is the best performing traffic source in your GA4 account…
RELATED GUIDES
Booking tools beside Onfleet, and what their bookings feed
- PestPacPestPac shows which campaigns close accounts. Google Ads still can't see a single sale.
- ServiceTradeYour ads are taking credit for deficiency work your ServiceTrade inspections already won
- FieldPulseFieldPulse is full of booked jobs. Your ads can't see any of them.
- LMNLMN conversion tracking: stop guessing which ads turn into Won estimates
- KickservKickserv conversion tracking for ads that fill the inbox but not the schedule
- SuccesswareSuccessware says your jobs came from "Google." Google Ads never learns which ones paid.
- BuildOpsYour BuildOps pipeline knows which ads won contracts. Google and Meta don't.
- AspireAspire conversion tracking: your ads never hear which contracts you won
Free · 30 min
Find out which ads fill your delivery routes
Free30 minutesNo obligation
