How to track booked call to closed won for Nextdoor Ads
The revenue arrives weeks or months after the call, in a CRM, with no browser anywhere near it. Everything depends on the click identifier having been written onto the opportunity — and in most CRMs it silently isn't, because custom fields aren't carried through lead conversion unless somebody configured the mapping. On Nextdoor Ads the specifics that matter are the click identifier (the ndclid click identifier), the import mechanism (the Nextdoor Conversions API), and Nextdoor deduplicates browser and server events, so the pixel and the API event must agree on the event identifier. The chain only works end to end if the identifier is captured on landing and stored on the opportunity record in your CRM — no cookie survives the gap between ad click and revenue sent back.
Free30 minutesNo obligation
Specific to Nextdoor × Booked call → closed won
Nextdoor closed-won: the signed job, sent from the field-service tool
When an estimate turns into a signed job, send it to Nextdoor's Conversions API as an offline conversion from your field-service or CRM system, with the job value, the ndclid saved at landing and hashed email and phone. Volumes per neighborhood are small, so use it for reporting and manual budget decisions, not automated bidding.
For a local contractor or home-service business, closed-won means a signed proposal or a sold job, recorded in a field-service or estimating tool rather than a sales CRM. That tool is where the ndclid has to land, carried from the web form or the call-tracking record onto the customer and then onto the job. Check whether yours can hold a custom field on the job, not only on the customer.
Close rates on in-home estimates vary by trade and season, and a contractor who wins a minority of estimates needs signed jobs, not booked visits, to compare Nextdoor neighborhoods with each other. Sending the job value shows which service areas return revenue rather than which ones produce estimate requests from people collecting quotes.
Many residential jobs are decided within days or weeks of the estimate, which keeps this funnel closer to Nextdoor's attribution window than most closed-won funnels. Long-lead work, such as a remodel signed after permits, will fall outside it. Send the signed contract value once, and keep deposits and change orders out of Nextdoor's number.
Nextdoor · Booked call → closed won · what breaks
Where this funnel usually breaks — Nextdoor · Booked call → closed won
- 01
Lead conversion drops the identifier
The value sits on the Lead, the Opportunity has nothing, and no system reports a problem. This is the single most common cause we find.
- 02
The cycle outruns the import window
A deal closing five months after the click can't be imported. That's a real constraint, not something to engineer around.
- 03
Amount changes after close
Upsells and adjustments move the number. Decide which amount is the conversion value and document it.
Nextdoor · Booked call → closed won · the fix
What working looks like — Nextdoor · Booked call → closed won
Revenue sent back attributed to the click
Weeks later if necessary, because the identifier lives on the opportunity record in your CRM rather than in a cookie.
Nextdoor bidding fed the real outcome
Via the Conversions API, so it optimizes toward revenue rather than toward booked calls.
A reconciliation that closes
Your crm's closed-won records matched per record against what Nextdoor Ads reports, over a fully closed window.
Nextdoor · Booked call → closed won · architecture
The exact event sequence — Nextdoor · Booked call → closed won
Stage three is where this fails, and it fails without raising an error anywhere.
- 1
Ad click
Identifier captured on landing and written to the lead record immediately.
- 2
Call booked and attended
The mid-funnel signal. Usually where bidding has to live, because it's inside the window.
- 3
Lead converted to opportunity
The step that loses the identifier in most CRMs. Field mapping has to be configured explicitly.
- 4
Opportunity closed won
With the real amount, which is what makes value-based bidding possible at all.
- 5
Revenue sent back
Uploaded against the original click, if the cycle fits inside the import window.
Nextdoor · Booked call → closed won · diagnose
What's specific to Nextdoor Ads
- 01
Click identifier: the ndclid click identifier
Nextdoor appends ndclid to your landing page URL and the pixel stores it for later events. One parameter, simpler than Google's three. The complication is not the identifier, it is the audience: Nextdoor traffic is hyperlocal and low volume by design, so a single neighbourhood's worth of clicks can be a handful a week — small enough that losing a few identifiers to a redirect or a slow page materially changes the picture.
- 02
Import mechanism: the Conversions API
Server events posted to Nextdoor's Conversions API, which accepts website, app and offline conversions through one pipeline. The offline path is the one that matters here: Nextdoor's core audience is local service businesses whose conversion is a booked job or a completed visit, not a web purchase, and that event lives in a job system days after the click.
- 03
Deduplication
The standard pairing: the pixel and the Conversions API event must carry the same identifier and event name for the same conversion, or every conversion counts twice. At Nextdoor's volumes a doubling is easy to miss — going from four conversions a week to eight reads as a good week, not as a bug — so test it deliberately rather than waiting for the numbers to look wrong.
- 04
Window and timing
Nextdoor's attribution windows are configurable and separate click-through from view-through. Confirm which window your reporting uses before comparing it against another platform, and check the accepted event-freshness limit for server events against Nextdoor's current documentation before backfilling anything.
- 05
The Nextdoor gotcha
Nextdoor's ads sit in a feed next to genuine neighbour recommendations, and for local services those recommendations are the platform's real force. A business that gets recommended in a neighbourhood group will see calls that no ad produced, in exactly the areas it is advertising in — which makes the ad account look better than it is. The other structural issue is volume: a hyperlocal campaign frequently produces too few conversions a month for any automated bidding strategy to learn from, and the honest recommendation at that scale is accurate reporting with manual control.
Nextdoor · Booked call → closed won · prove
How to prove the chain works — Nextdoor · Booked call → closed won
Source of truth
your CRM's closed-won records
- The same identifier confirmed on the opportunity record in your CRM after a full real journey through every step.
- Revenue sent back confirmed arriving at Nextdoor Ads, verified by the event delivery and match reporting in Nextdoor Ads Manager, reconciled against your own booked-job records.
- Your crm's closed-won records reconciled against Nextdoor Ads per record over a fully closed window.
Nextdoor · Booked call → closed won · free audit
What we check in the free audit
- Click identifier: the ndclid click identifier
- Import mechanism: the Conversions API
- Deduplication
- Window and timing
- The Nextdoor gotcha
Checked against
your CRM's closed-won records
Free30 minutesNo obligation
Nextdoor · Booked call → closed won · when not to buy
When this doesn't apply to you — Nextdoor · Booked call → closed won
- If your median time from click to close comfortably exceeds the import window, the closed-won event simply cannot drive bidding. Build the reporting, optimize on an earlier stage, and don't let anyone tell you otherwise.
- If you are a national ecommerce brand, Nextdoor's hyperlocal inventory is not where your volume is and the Conversions API build will not pay for itself. It earns its keep for local service businesses with a defined service area.
- If your cycle from click to revenue sent back regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward attended call or qualified opportunity instead and use the later data for budget decisions rather than for bidding.
- If almost none of your opportunities carry a click identifier today, that's the whole project.
Nextdoor · Booked call → closed won · what we deliver
The implementation, on Nextdoor Ads
Capture the ndclid click identifier on landing
Read ndclid from the landing URL and write it to first-party storage and to your own record immediately. For local service businesses the conversion often arrives by phone, so pair this with call tracking — otherwise you are measuring the minority of the funnel that happens on a website.
Persist it to the opportunity record in your CRM
Create the identifier fields on Lead, Contact and Opportunity, then configure the lead-conversion mapping between them — the mapping is the part that's almost never done.
Send revenue sent back from the record
The upload fires on stage change, automatically, referencing the identifier stored on the opportunity.
Deduplicate and reverse
Nextdoor deduplicates browser and server events, so the pixel and the api event must agree on the event identifier. A closed-won that later gets reversed or refunded should be adjusted, which almost no implementation does.
FAQ
Nextdoor · Booked call → closed won questions, answered
The signed job, sent when the contract is accepted, because completion can be weeks later. Use the signed contract value and leave change orders out.
Yes for reporting, since it shows which neighborhoods produce paying jobs. Volumes are usually too low for automated bidding, so adjust budgets by hand.
Because the call-to-close rate differs by channel, sometimes dramatically. Optimizing on booked calls buys the channels that produce the most calls, which is rarely the same as the channels that produce revenue.
It doesn't, as a cookie — the gap is too long. It has to be written onto the opportunity record in your CRM at the point of ad click, where it lives as a field rather than as browser storage.
An event name Nextdoor recognizes, a matching identifier between pixel and server event, a timestamp, hashed customer information, and ndclid where you have it. Read Nextdoor's delivery and match reporting rather than assuming a successful API response means the event was usable.
Two to four days for the implementation, plus a closed reconciliation window before we'd call it verified. Capture and persistence are the fiddly parts; the import itself is usually an afternoon.
Yes, and the reference pages on this site cover the mechanics. The part that's genuinely tedious rather than clever is keeping the ndclid click identifier alive through multi-step forms and CRM lead conversion, where unmapped custom fields vanish, which fails silently at every stage.
More on Nextdoor · Booked call → closed won
- Google Ads · Booked call → closed wonHow to track booked call to closed won for Google Ads
- Meta · Booked call → closed wonHow to track booked call to closed won for Meta Ads
- TikTok · Booked call → closed wonHow to track booked call to closed won for TikTok Ads
RELATED GUIDES
Funnels next to booked call to closed won, and the checks that close it
- Nextdoor · Referral → closed saleHow to track referral to closed sale for Nextdoor Ads
- Nextdoor · Phone call → saleHow to track phone call to sale for Nextdoor Ads
- Nextdoor × CRM DealsHow to reconcile Nextdoor Ads against your CRM's closed-won deals
- Nextdoor · Criminal defenseNextdoor Ads conversion tracking for criminal defense attorneys
- Nextdoor · Family lawNextdoor Ads conversion tracking for family law firms
- Square Appointments → NextdoorConnecting Square Appointments to Nextdoor Ads
- Harvest → NextdoorConnecting Harvest to Nextdoor Ads
- Nextdoor · Quote → closed jobHow to track quote request to closed job for Nextdoor Ads
Free · 30 min
Get booked call to closed won tracked properly on Nextdoor Ads
Free30 minutesNo obligation
