Connecting Square to Nextdoor Ads
Square holds the transaction, and for most Square businesses the majority of those transactions are a card tapped at a counter with no browser anywhere near them. Nextdoor is hyperlocal by construction, which makes it unusually good for home services and unusually easy to misread at low volume. The join between them succeeds or fails on one thing: whether the ndclid click identifier reaches the Square payment or order before the conversion happens, because Nextdoor can only match a conversion it can tie back to a click it recognizes.
Free30 minutesNo obligation
Specific to this pair
Square Appointments from Nextdoor: booking now, payment later
Use Square Appointments as the bridge. Send a booking event to Nextdoor's Conversions API with the click identifier and hashed email or phone captured at booking, then a purchase with the real amount when the linked Square payment arrives. Capture the identifier on your own page if the booking site drops it, and read monthly.
Nextdoor and Square suit the same kind of business: a salon, groomer, cleaner or local studio whose customers live nearby. The click identifier lands on your site or Square booking page, and the revenue happens days later at the counter, which is where the join usually breaks. The bridge is the appointment, not the payment.
When someone books through Square Appointments from a Nextdoor ad, send a booking event to the Nextdoor Conversions API with the click identifier and hashed email or phone captured at booking. When they show up and pay, the Square payment links to the same customer profile, and you can send the purchase with the real amount. Check whether the Square booking site keeps the click identifier from the landing URL; if not, capture it on your own page first and store it against the customer.
Expect small numbers. A neighborhood campaign might produce six bookings one week and two the next, and no-shows remove some of those. Read results over a month, compare bookings against attended appointments, and verify Nextdoor's current field names before building. Retail walk-ins from Nextdoor ads cannot be joined at all; count them only with a code offered in the ad.
Square → Nextdoor · what breaks
Why this join usually fails — Square → Nextdoor
- 01
The ndclid click identifier never reaches Square
Square Online checkout is hosted, so the identifier must be carried deliberately rather than by cookie. For in-person payments there is no identifier at all unless the customer booked an appointment or is in the customer directory — a walk-in who taps a card cannot be joined to an ad click by anyone.
- 02
Most of the revenue has no browser
A card at a terminal has no click, no session and no identifier. That is a boundary to measure rather than a bug to fix, and the honest deliverable includes how much of your revenue sits outside it.
- 03
Small numbers read as trends
Hyperlocal audiences produce low weekly volumes. Three conversions instead of six looks like a fifty percent collapse and is usually noise, so judge Nextdoor over longer windows than you would use elsewhere.
- 04
Nothing reconciles afterwards
Nextdoor Ads Manager reports received and matched conversions. Reconcile against your own records over a month rather than a week — at these volumes shorter windows are noise.
Square → Nextdoor · the fix
What working looks like — Square → Nextdoor
The ndclid click identifier on every transaction
Conversions arriving in Nextdoor
Conversions appear in Nextdoor Ads Manager against the campaign and neighbourhood targeting, with the value you sent.
Reconciled against the source
Square → Nextdoor · architecture
How Square and Nextdoor actually connect
- 1
Square holds the truth
Square records every payment with its amount, channel and, where the customer is identified, a link to the customer directory. That directory is the only bridge between a counter payment and anything that happened online.
- 2
Nextdoor Ads needs a click to match
Nextdoor matches server events on the click identifier and hashed customer information. Verify the current Conversions API endpoint and field names against Nextdoor's own documentation — this is a younger API than Meta's.
- 3
The identifier is the bridge
The ndclid click identifier, captured at the visit and carried into the Square payment or order.
- 4
The event source decides reliability
Subscribe to payment and order events and send from your server. This covers online orders cleanly, and covers in-person payments only for the share you can join to an identity.
- 5
Deduplication at the destination
Nextdoor deduplicates on an event identifier shared between the pixel and the Conversions API. At Nextdoor's typical volumes a doubling is easy to miss because the absolute numbers stay small, so this needs testing rather than assuming.
Square → Nextdoor · normal or broken
Working vs. broken, side by side — Square → Nextdoor
Normal, not a fault
The ndclid click identifier present on the transaction
Sent from the Square payment webhook
Deduplicated correctly
Nextdoor deduplicates on an event identifier shared between the pixel and the Conversions API. At Nextdoor's typical volumes a doubling is easy to miss because the absolute numbers stay small, so this needs testing rather than assuming.
Reconciles with the source
Actually broken
The ndclid click identifier missing on most records
Square Online checkout is hosted, so the identifier must be carried deliberately rather than by cookie. For in-person payments there is no identifier at all unless the customer booked an appointment or is in the customer directory — a walk-in who taps a card cannot be joined to an ad click by anyone.
Sent from the browser
A card at a terminal has no click, no session and no identifier. That is a boundary to measure rather than a bug to fix, and the honest deliverable includes how much of your revenue sits outside it.
Counted twice, or not at all
Hyperlocal audiences produce low weekly volumes. Three conversions instead of six looks like a fifty percent collapse and is usually noise, so judge Nextdoor over longer windows than you would use elsewhere.
Nobody has reconciled it
Square → Nextdoor · diagnose
Diagnostic order — Square → Nextdoor
- 01
Count transactions carrying the ndclid click identifier
- 02
Follow one real conversion end to end
- 03
Split Square revenue by channel before anything else
Online versus in-person. Every subsequent number depends on that split, and blending them makes both unreadable.
- 04
Check the volume before reading the trend
If weekly conversions are in single figures, week-over-week comparison is not telling you anything about campaign performance.
- 05
Read the match rate, not the success message
Nextdoor Ads Manager reports received and matched conversions. Reconcile against your own records over a month rather than a week — at these volumes shorter windows are noise.
Square → Nextdoor · prove
How it gets proven — Square → Nextdoor
Source of truth
Square's transaction list, split by channel — online and in-person are different questions.
- The ndclid click identifier confirmed present on a live transaction.
- Deduplication confirmed on a real conversion, and the reporting window set long enough for the volume.
- The in-person join rate measured and stated as a number before any coverage claim is made.
Square → Nextdoor · free audit
What we check in the free audit
- Count transactions carrying the ndclid click identifier
- Follow one real conversion end to end
- Split Square revenue by channel before anything else
- Check the volume before reading the trend
- Read the match rate, not the success message
Checked against
Square's transaction list, split by channel — online and in-person are different questions.
Free30 minutesNo obligation
Square → Nextdoor · when not to buy
When you don't need this — Square → Nextdoor
- Measure identifier coverage yourself first — pull your last hundred transactions and count how many carry the ndclid click identifier.
- If nearly all your revenue is in person with no appointments and no identified customers, there is very little here to attribute and we will say so rather than build a bridge to nothing.
- If you do not serve a defined local area, Nextdoor's entire value proposition does not apply to you.
Square → Nextdoor · what we deliver
What gets built — Square → Nextdoor
Identifier capture into Square
Capture the click identifier and carry it into Square Online checkout, and for in-person work use an appointment booking as the bridge so the eventual payment can be joined through the customer record.
Event source: the Square payment webhook
Subscribe to payment and order events and send from your server. This covers online orders cleanly, and covers in-person payments only for the share you can join to an identity.
Dispatch to Nextdoor
Server events to the Nextdoor Conversions API with the click identifier, hashed customer data and a matched event identifier.
Reversals where they exist
Square exposes refunds clearly, and in hospitality and services voids and comps are frequent enough that wiring the reversal matters.
Written guarantee
95%+ tracking accuracy
Measured against Square's transaction list, split by channel — online and in-person are different questions.. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Square → Nextdoor questions, answered
Send the booking with the Nextdoor click identifier and hashed contact details, then send the payment when the customer pays at the appointment.
Not by click. Use an ad-specific offer code at the register if you need a count.
Almost always because the ndclid click identifier never reached the Square payment or order. Square Online checkout is hosted, so the identifier must be carried deliberately rather than by cookie. For in-person payments there is no identifier at all unless the customer booked an appointment or is in the customer directory — a walk-in who taps a card cannot be joined to an ad click by anyone. Measure coverage before debugging the dispatch.
Nextdoor's click identifier, appended to your landing page URL, alongside a pixel that sets its own cookie. Nextdoor also matches on hashed email and phone. The practical constraint is volume: a neighbourhood-level audience produces small numbers, and small numbers move a lot week to week for reasons that have nothing to do with your campaign.
The Square payment webhook. Subscribe to payment and order events and send from your server. This covers online orders cleanly, and covers in-person payments only for the share you can join to an identity.
Nextdoor Ads Manager reports received and matched conversions. Reconcile against your own records over a month rather than a week — at these volumes shorter windows are noise.
More on Square → Nextdoor
- Square Online → NextdoorConnecting Square Online to Nextdoor Ads
- Square Appointments → NextdoorConnecting Square Appointments to Nextdoor Ads
- Nextdoor · Lead → booked callHow to track lead to booked call for Nextdoor Ads
RELATED GUIDES
Where Square → Nextdoor fits in the rest of your tracking
- Nextdoor · Financial servicesNextdoor Ads conversion tracking for financial services firms
- Nextdoor · SaaSNextdoor Ads conversion tracking for SaaS companies
- Nextdoor × SubscriptionsHow to reconcile Nextdoor Ads against your billing system
- Nextdoor · Subscription → renewalHow to track subscription to renewal and churn for Nextdoor Ads
- Splitit → NextdoorConnecting Splitit to Nextdoor Ads
- Square → TikTokConnecting Square to TikTok Events API
- SaaSConversion tracking for SaaS, from signup through to the payment that matters
- Recharge → NextdoorConnecting Recharge to Nextdoor Ads
Free · 30 min
Get Square and Nextdoor joined properly
Free30 minutesNo obligation
