boberdoo conversion tracking that counts sold leads, not form fills
Google and Meta show a strong cost per lead, while boberdoo shows how many of those leads never found a buyer or came back as refunds. boberdoo documents its web campaign pixel firing once the form is submitted, so leads a buyer declines or returns still count as wins, and unless the pixel is gated on the match, unmatched ones do too. We tie each lead to its ad click and report what pays you: matched, kept past the return period, closed.
Free30 minutesNo obligation
boberdoo · what breaks
What goes wrong when ads feed boberdoo
- 01
Google pays for leads no buyer wanted
With a boberdoo form, the web campaign pixel fires once the form is submitted. Unless someone gated it on the match, a lead that found no buyer still tells Smart Bidding it did its job, so your budget goes hunting for more of them.
- 02
Refunds never reach the ad account
An insurance or solar buyer returns a lead and you approve the refund in boberdoo. Meta and Google keep the conversion, so cost per lead looks better than your margin on that campaign really is.
- 03
Calls and forms report as two different businesses
Calls on your Twilio numbers land in boberdoo's phone campaigns and web leads land in web campaigns. Unless someone built the link, neither carries the ad click that started it, so call-heavy campaigns look like they sell nothing.
- 04
You can't see which campaign makes money
boberdoo knows each lead's SRC and which buyer took it; the ad accounts know cost per click. Nothing joins the two at the campaign or ad set level, so budget moves on gut feel instead of earnings per click.
boberdoo · the fix
What changes after the fix — boberdoo
Bidding trained on leads that sold
Google and Meta get a conversion when boberdoo matches a lead to a buyer, carrying the sale price where your webhook passes it, instead of credit for every submission.
Earnings per click by campaign
Each sold lead keeps its GCLID or Meta click ID, so what buyers paid for the lead lines up with ad cost per campaign, ad group and ad set.
Refunded leads corrected
A Lead Refund Approval in boberdoo triggers a retraction in Google Ads while it's still allowed, and on Meta the sale only goes out once returns are no longer possible.
boberdoo · architecture
What boberdoo actually lets you hook into
boberdoo is a back office for lead buying and selling, not an analytics tool. These are the documented pieces we build on; anything not in its public docs is a check.
- 1
Form Builder with hidden values
Forms embed with a div code, can sit on your own domain, and are documented to pass hidden values and custom tracking parameters. That's where the click ID gets stored.
- 2
Web campaign pixels per SRC
Set by source. With a boberdoo form the pixel fires on submit; without one it comes back in the XML posting response as a tracking pixel for you to fire.
- 3
Posting responses
A post returns status and lead ID, and the full response adds the matching partner, so your confirmation page can tell a sold lead from an unsold one.
- 4
Webhooks on 50-plus events
Documented events include New Lead - Matched, Lead Declined, Lead Refund Approval, New Lead - Matched IPR and CRMStatus - Closed. These are what feed the server-side conversions.
- 5
Call routing on your own Twilio account
Numbers are ordered in the system and assigned per campaign and channel, with recording. boberdoo mentions dynamic number insertion for affiliate tracking; we confirm whether yours swaps per visitor and keeps the click ID, because without that a call can't be matched to an ad.
- 6
No native ad platform connection
Its public docs and outside-services list name lead verification and compliance tools, but no Google Ads, GA4, GTM or Meta integration, so nothing reaches the ad accounts unless we send it.
boberdoo · diagnose
Where boberdoo tracking breaks, in the order we check
Start at the click, because a lead that arrives without its click ID can't be credited to any ad, however good the rest of the setup is.
- 01
Does the click ID survive into the lead?
Submit a test from an ad-tagged URL and open the lead in boberdoo to see whether GCLID or the Meta click ID was stored.
- 02
Which pixel fires, and when?
Check whether the Meta Pixel and Google tag ride on the web campaign pixel at form submit, on a thank-you page, or both.
- 03
Are matched and unmatched leads told apart?
Compare boberdoo's matched count by SRC with what each ad platform reports as a lead.
- 04
Are the right webhooks on?
Confirm New Lead - Matched, Lead Refund Approval and CRMStatus - Closed fire, where they post, and whether they carry the click ID and lead price.
- 05
How are calls attributed?
Trace one call from a paid ad through IVR to a buyer and see whether anything links it to the click.
boberdoo · prove
The QA evidence — boberdoo
Run on live leads through your production forms and SRCs, because what matters is how real buyers match, decline and return them.
Source of truth
boberdoo lead records by SRC: lead ID, match status, buyer, price, refund status and CRMStatus
- One lead from an ad-tagged URL, with the click ID visible on the boberdoo lead.
- A matched lead producing exactly one conversion per platform, deduplicated on the lead ID.
- An unmatched lead producing no primary conversion anywhere.
- A Lead Refund Approval retracted in Google Ads, and kept off Meta until the return period closes.
- Sold leads reconciled record by record against Google Ads and Meta over a closed window.
- Repeated 30 days later, once returns have settled on the first batch.
boberdoo · free audit
What we check in the free audit
- Does the click ID survive into the lead?
- Which pixel fires, and when?
- Are matched and unmatched leads told apart?
- Are the right webhooks on?
- How are calls attributed?
Checked against
boberdoo lead records by SRC: lead ID, match status, buyer, price, refund status and CRMStatus
Free30 minutesNo obligation
boberdoo · when not to buy
When you don't need this on boberdoo
Plenty of boberdoo systems run with no paid traffic at all, and then ad tracking is beside the point.
- If every lead comes from publishers posting into your system and you spend nothing on ads, tracking is the publishers' job and your vendor reports already show what each source earns.
- If you're the buyer receiving leads from a boberdoo system, the tracking belongs in your own CRM and intake, not here.
- If nearly every web lead matches and refunds are rare, a submit-level conversion is close enough and we'll say so.
- If you only run a handful of leads a month, the platforms won't have enough sold-lead conversions to bid on yet. Fix click ID capture first and revisit later.
boberdoo · what we deliver
The event map on boberdoo
Form submitted
Browser signal on the boberdoo form, sent as a secondary event that doesn't drive bidding.
Lead matched to a buyer
The primary conversion, fired from the match event with the lead ID as the deduplication key.
Inbound call matched
Phone leads that boberdoo routes to a buyer and that clear the billable duration, kept apart from web leads.
Lead kept past the return period
An optional higher-value event for buyers with long return periods, sent once the lead can no longer be refunded. On Meta this is the safer primary event.
Closed by the buyer
Where buyers update CRMStatus to Closed, sent as the deepest conversion for value-based bidding.
Excluded
Unmatched, declined, duplicate and refunded leads, plus your own test posts, never reach a primary conversion.
Written guarantee
95%+ tracking accuracy
Measured against boberdoo lead records by SRC: lead ID, match status, buyer, price, refund status and CRMStatus. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
boberdoo questions, answered
Not natively, based on its public documentation. It has webhooks, an API and form hidden fields, which is enough to send sold leads to Google and Meta through a server container we set up.
Usually because the web campaign pixel fires once the form is submitted, and leads declined or refunded afterward never come back out. Unless the pixel is gated on the match, unmatched and duplicate leads count too.
On Google, yes: conversion adjustments can retract a conversion for up to 54 days, though only retractions made within 7 days affect bidding. Meta can't retract a conversion, so on Meta we send the sale once the lead is past the return period.
Only if the call can be tied to a click. A fixed number per campaign tells you the source, not the click, so we check whether your number insertion swaps per visitor or whether calls go in as a separate, unmatched report.
The tracking is the same, but lead value swings a lot by vertical and buyer. Where your webhook passes the price a buyer paid, we send it as the conversion value so bidding favors the leads that earn most.
No. We read boberdoo's events after the match; routing, filter sets and buyer rules stay exactly as they are.
More on boberdoo
- 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 boberdoo, and what their bookings feed
- LeapLeap shows the window job your rep signed in SalesPro. Google Ads still thinks it was a form fill.
- BuildiumGoogle Ads keeps counting leads. Buildium shows almost no applications.
- LeadSquaredLeadSquared for healthcare: show Google and Meta which ads become booked consults
- PandaDocPandaDoc conversion tracking: Google Ads sees the inquiry, never the signed proposal
- OrbundYour ads fill Orbund with inquiries. Google can't tell which ones signed an enrollment agreement.
- MarketSharpMarketSharp conversion tracking: your ROI report says "Google" sold the job, and Google Ads never hears about it
- SalesRabbitYour rep drops a sale pin in SalesRabbit. Your ads never hear about it.
- LeadPerfectionYour ads say leads. LeadPerfection says who sat and who signed. We connect the two.
Free · 30 min
See which ads send leads boberdoo actually sells
Free30 minutesNo obligation
