Skip to content
ChangelogBook a demoSign up

Nextdoor

Elevate your local marketing efforts with Nextdoor Ads and drive business growth by reaching nearby customers in their communities

Nextdoor is a neighborhood network where businesses advertise to people in the communities they serve. Hightouch sends conversions from your warehouse to the Nextdoor Conversions API, and uploads your models as Nextdoor custom audiences that your ad groups target or exclude.

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI Reference
Conversion eventsSend conversions to Nextdoor to measure your ad campaignsInsertTrack conversions →
Custom audienceUpload a model as a custom audience that your ad groups target or excludeAllCreate a custom audience →

For more information about sync modes, refer to the sync modes docs.

Connect to Nextdoor

Hightouch connects to Nextdoor with an API token. Nextdoor reviews every request for API access: apply with the form on Nextdoor's Applying for access page, or ask your Nextdoor account manager. After Nextdoor approves the request, generate a token on the API page in Nextdoor Ads Manager and enter it as the API token.

The two sync types need different access:

  • Conversion events syncs need a token that can send events to the Conversions API.
  • Custom audience syncs need a token that Nextdoor has approved for the Ads API. The token's Nextdoor user also needs a role on each advertiser you sync to that can manage audiences and ad groups, such as an admin or ad manager role.

Testing the connection checks each API separately, as Conversion events and Custom audiences. A token that Nextdoor approved only for conversions shows an error on the Custom audiences check. If you only sync conversion events, you can ignore it. Custom audience syncs fail with that token until Nextdoor approves it for the Ads API.

Sync configuration

When you create a sync, choose what Hightouch sends to Nextdoor: Conversion events or Custom audience.

Conversion events

Send conversions, such as purchases, leads, and sign-ups, to the Nextdoor Conversions API so Nextdoor can attribute them to your campaigns. Each event needs a client ID, an event name, an event time, an action source, and at least one customer field.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Client ID

Enter your Nextdoor client ID, also known as the NAM advertiser ID. Hightouch sends it as the client_id parameter. To get your client ID, reach out to your Nextdoor account manager. Custom audience syncs don't use the client ID.

Event name

Choose a static event name, or use a column from your model. Hightouch sends the value as the event_name parameter. The static values are conversion, lead, purchase, sign_up, and custom_conversion_1 through custom_conversion_10. If you use a column, its values must be event names Nextdoor supports. See Nextdoor's supported conversion event names.

Event timestamp

Optionally, select a column that holds the time each event happened, in ISO 8601 format. Hightouch converts it to the format Nextdoor expects and sends it as the event_time parameter. If you leave it empty, Hightouch uses the time the event arrives at the server.

Action source

Choose the channel where the conversion happened, such as website, email, or physical_store, or use a column from your model. Hightouch sends it as the action_source parameter. Knowing where your events took place helps Nextdoor show your ads to the right people.

Test event codes

Test event codes let you check your setup without recording real conversions in Nextdoor. Enter a test event code to send test conversions, and remove it before you run the sync in production.

Hashing

By default, Hightouch hashes the email, phone_number, first_name, last_name, date_of_birth, street_address, city, state, zip_code, and country customer fields with SHA-256 before sending them.

If your model already hashes these values, select No under Would you like Hightouch to automatically detect if your PII data requires hashing?.

Custom audience

Upload a model to Nextdoor as a custom audience that your ad groups target or exclude. Nextdoor's Ads API can't add or remove people from an existing custom audience, and Nextdoor can take up to about two days to process each upload. So the sync uploads your whole model as a new audience, limits how many uploads are processing at once, and keeps your ad groups on the newest audience Nextdoor has finished processing.

How sync runs replace the audience

Each run does the following:

  1. Uploads every row in your model that has a mapped identifier to a new custom audience, unless two of the sync's uploads are still processing, or one that's still processing started less than 20 hours ago.
  2. Moves every ad group that uses one of the sync's older audiences to the newest audience Nextdoor has finished processing. An ad group that targets an older audience now targets the newest one, and an ad group that excludes it now excludes the newest one.
  3. Archives the sync's older audiences once no ad group uses them. An audience your ad groups move off is archived on the next run.

Nextdoor won't target an audience until it finishes processing it. So the first upload reaches your ad groups on the first run after Nextdoor finishes it, which can take up to about two days. After that, your ad groups stay on the current audience while the next upload processes.

Hightouch recognizes the sync's audiences by their description: Managed by Hightouch (workspace <workspace ID>, sync <sync ID>). Each sync run replaces this audience.

Don't edit the description of a sync's audience in Nextdoor Ads Manager. Once the description changes, Hightouch no longer recognizes the audience: it doesn't move ad groups off it or archive it.

Schedule the sync

A schedule more frequent than once a day only uploads more often when Nextdoor processes uploads quickly. Nextdoor can take up to about two days, and runs skip some uploads while earlier ones are processing, as step 1 above describes.

A run that doesn't upload still reads your model and moves your ad groups, and the sync run log says why it didn't upload. The run still shows your model's rows as added, even though it sent none of them to Nextdoor.

Choose the advertiser and audience name

Select the advertiser that owns the audience. The list shows the advertisers your API token's user can access in Nextdoor Ads Manager, by name and Ads API advertiser ID. That ID isn't the Client ID that conversion events syncs use, so pick the advertiser by name.

Then enter an audience name, or leave it blank to use the model name. Each upload adds the time its run started, in UTC, to the name, such as Active subscribers (2026-10-19 14:05 UTC), so you can tell uploads apart in Ads Manager.

Record matching

Map an email, a postal code, or a street name, or any combination of them. You can map these identifiers:

  • Email
  • Street number
  • Street name
  • Unit number
  • City
  • State
  • Postal code

A street address needs at least the street name. City, state, street number, or unit number alone isn't enough.

Then select the country your customers live in: United States, Canada, or United Kingdom. Nextdoor matches each audience against a single country. To reach customers in more than one country, create one sync per country, each with a model filtered to that country.

Add the audience to ad groups

Selecting ad groups is optional. Every run moves ad groups that use one of the sync's audiences to the newest audience Nextdoor has finished processing, whether you added the audience in Hightouch or in Nextdoor Ads Manager. Hightouch changes only an ad group's custom audience lists and leaves the rest of its targeting as it is. To have Hightouch add the audience to more ad groups, select them under Ad groups.

Then choose how those ad groups use the audience:

  • Target the audience: the ad group reaches only people in the audience who also match its existing custom audience targeting.
  • Exclude the audience: Hightouch adds the audience to every custom audience exclusion on the ad group, so the ad group stops reaching everyone in the audience, in addition to the people it already excludes.

Hightouch adds the newest audience Nextdoor has finished processing to these ad groups. For a new sync, that happens on the first run after Nextdoor finishes processing the first upload.

Targeting only applies to an ad group that doesn't use the audience yet, so changing it later doesn't change ad groups that already do. Removing an ad group from Ad groups doesn't take the audience off it. To stop an ad group from using the audience, remove it from Ad groups if it's selected, then remove the audience from the ad group in Ads Manager.

Email hashing

By default, Hightouch trims and lowercases each email, then hashes it with SHA-256 before uploading it. Hightouch doesn't hash addresses or postal codes.

  • Hightouch doesn't hash an email that's already a SHA-256 hash again. Nextdoor expects you to trim and lowercase emails before hashing them, so normalize them the same way in your model. See Nextdoor's custom audience help article.
  • An email hashed another way, such as with MD5 or SHA-1, can't match on Nextdoor, so Hightouch leaves it out. If the row has no other identifier, Hightouch leaves the row out of the audience.

To upload emails without hashing them, select No under Would you like Hightouch to automatically detect if your PII data requires hashing?.

Tips and troubleshooting

For Hightouch platform error codes related to Nextdoor, see Error codes: other destinations.

Behavior and limitations

A model with no usable rows fails the run. If a run is due to upload and no row in your model has a mapped identifier, the run fails without uploading and leaves the current audience and your ad groups as they are. This keeps a broken or empty model from emptying your targeting. When only some rows have none of the mapped identifiers, Hightouch leaves those rows out and uploads the rest.

An ad group Hightouch can't update keeps its audience. If Nextdoor rejects the update to an ad group, that ad group stays on the audience it was using, Hightouch doesn't archive that audience, and the run fails with the ad group's ID. Other ad groups still move to the newest audience. The next run tries the ad group again.

Ad groups wait when Nextdoor isn't ready to target an audience. Nextdoor sometimes refuses an audience in ad group targeting after marking it active. When it refuses the newest audience, those ad groups keep their current audience, the sync run log names them, and a later run moves them. Hightouch leaves the sync's older audiences in place until the move succeeds, and the run doesn't fail.

A failed upload fails the run. If Nextdoor can't process an upload, the run that finds the failure fails with that audience's ID. If a newer upload has already finished processing, the run doesn't fail. Either way, Hightouch archives the failed audience, and ad groups stay on the newest audience Nextdoor processed. Check the identifier mappings and the country.

An upload that never finishes stops holding up new ones. If Nextdoor is still processing an upload after 7 days, Hightouch stops waiting for it and archives it, so it no longer counts toward the two uploads that can process at once. The sync run log notes it.

Archived and completed ad groups don't change. They keep the audience they ended with, but Hightouch doesn't count them as using it, so it can still archive that audience. If you selected one under Ad groups, the sync run log names it.

Changing the advertiser leaves the previous advertiser's audiences in place. Hightouch only manages audiences under the advertiser the sync uses now, and changing the advertiser resets the Ad groups and Targeting settings. Archive the previous advertiser's audiences in Ads Manager, and move its ad groups off them.

Validate your setup

After a custom audience sync runs, check its audiences in Nextdoor Ads Manager under Assets > Audience:

  • Find the newest upload by the upload time at the end of its name. Nextdoor can take up to about two days to process it, and its status shows when it's done.
  • After the first sync run that follows processing, open an ad group that uses the audience and check that its targeting lists that upload.
  • Archived audiences stay in the list, so check each audience's status rather than counting audiences. Besides the audience your ad groups use, expect up to two uploads still processing, and the audience your ad groups just moved off until the next run archives it.
  • If a run didn't upload, the sync run log says why.

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service