Integrations

Zapier integration

Connect DataCops to thousands of apps with no code. Read clean, verified conversions and identified leads out, or send an order in and have it delivered server-side to your ad platforms. You connect with one private API key.

What it is

The DataCops app for Zapier lets you connect DataCops to thousands of other apps without writing code. It gives you two triggers that send clean, verified data out of DataCops, and one action that sends a conversion in and delivers it server-side to your connected ad platforms. The app is in private access today, so ask us for the invite link to add it to your Zapier account.

Everything runs over the same DataCops API, so the data Zapier reads is the same clean, bot filtered, consented data the rest of the platform produces. Zapier is not a separate pipeline. It is a no-code door onto the one you already have.

The app has two jobs. Job one is clean data out: when a real conversion or lead happens, tell another app about it. Job two is real sales in: when a sale happens somewhere DataCops cannot see, such as a payment app or a back office tool, send it in so your ad platforms learn from it.

What you can build

Because Zapier connects DataCops to almost any app, a few common flows:

  • Log every validated conversion to a Google Sheet or a Slack channel, so your team sees real sales as they happen.
  • Send every identified lead into a CRM or a spreadsheet, with its email risk score attached.
  • Shopify paid order to DataCops. Use Shopify's "New Paid Order" trigger (not "New Order", which also fires on unpaid orders) and map it to Send Conversion Event as a Purchase.
  • Stripe payment to DataCops. Use Stripe's "New Payment" trigger. Stripe gives amounts in cents, so divide by 100 for the value.
  • Form submission to DataCops. Take a lead from any form app and send it in as a Lead.

Triggers: read clean data out

A trigger starts a Zap when something happens in DataCops. Zapier checks for new rows on its own schedule and uses each row's id to skip ones it has already seen.

TriggerReads fromWhen it fires
New Validated ConversionGET /api/v1/export/conversionsFires when a conversion has been delivered to an ad platform. Only delivered rows are returned, so every one has already passed the consent and fraud checks. One row per conversion, even when it went to several platforms.
New Identified LeadGET /api/v1/export/identified-usersFires when a visitor gives an email and DataCops ties it to their session. Each row carries the email risk score, IP country and VPN, proxy and Tor flags.

A conversion row includes the event name, value, currency, order id, content name and category, the country, whether consent was given at send time, whether it was later refunded, and the confirmation tier. It never includes the person's email or phone. The full list is in the export reference.

Because the data has already passed the fraud verdict and the consent gate, whatever you connect downstream only receives real, consented people.

The confirmation field

Every conversion carries a confirmation field. It answers one question: did this sale really happen?

ValueMeaning
payment_confirmedA payment system's server confirmed the sale. Today that is a Shopify purchase from the paid-order webhook.
crm_qualifiedYour CRM confirmed the lead was qualified, through the qualification gate.
trackedA real, filtered conversion seen on your site, not yet confirmed by a payment system or CRM.

Add a Zapier Filter step on confirmation equals payment_confirmed when you only want to fulfil, pay commission, or notify on confirmed sales.

Action: send a conversion in

Send Conversion Event pushes an order or signup into DataCops from any app. It calls POST /api/v1/conversions/zapier. DataCops matches the person, checks for duplicates, and delivers it server-side to every connected ad platform, the same path as every other conversion. See CAPI delivery for what happens next.

FieldRequiredWhat to put in it
eventYesThe conversion name, for example Purchase or Lead.
emailNoCustomer email. Used to match the person; hashed by each ad platform sender.
valueNoOrder value as a number.
currencyNoThree-letter code, for example USD.
order_idNoYour order or payment id. Also used as the message id, so a retried Zap is not counted twice.

Behind the scenes the Zap sends this body:

POST https://api.joindatacops.com/api/v1/conversions/zapier
x-dc-key: dcp_your_private_key
Content-Type: application/json

{
  "event": "Purchase",
  "messageId": "1042",
  "properties": { "value": 89.00, "currency": "USD", "order_id": "1042" },
  "context": { "traits": { "email": "[email protected]" } }
}

What the action returns

A successful call returns 202 with accepted: true and one result per event. If some platforms failed, you get 207 so you can see which. If the same order_id was already sent, DataCops skips it and marks it as a duplicate instead of sending it twice.

StatusMeaning
202Accepted and delivered to every connected platform.
207Accepted, but one or more platforms did not take it. Each result says why.
401Missing x-dc-key header, or the key is wrong or revoked.
402The site is paused because its plan has ended. Upgrade to resume.
422The body is invalid, for example the event field is missing.

Every delivery, sent or skipped, appears in the site's delivery report.

Get your API key and connect

You connect Zapier to DataCops with a private API key. Here is the whole setup:

  1. Open your project

    Sign in at app.joindatacops.com and open the site you want to connect. Each key belongs to one site.

  2. Create a Private API key

    In the left sidebar go to Settings, then API Keys, and open the Private keys tab. Click New key, name it (for example, "Zapier"), and confirm.

  3. Copy the key

    A key starting with dcp_ appears. Copy it now, it is shown only once.

  4. Paste it into Zapier

    When Zapier asks you to connect your DataCops account, paste the dcp_ key. Zapier tests it against GET /api/v1/export/health and sends it in the x-dc-key header on every call, so no password or sign-in pop-up is needed.

  5. Test the triggers and action

    New Validated Conversion and New Identified Lead return real data from your site, and Send Conversion Event delivers a conversion server-side. Once they work, turn your Zap on.

Good to know before you start

  • One key covers both the triggers and the action, for one site. Use a separate key per site.
  • Always map order_id. It is what lets DataCops spot a retried Zap and send the sale only once.
  • Conversions sent in through Zapier go to the same 8 ad platforms as the rest of your data: Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X.
  • If a key is ever exposed, revoke it in the Private keys tab and create a new one. Zapier will ask you to reconnect.

Works in Make and n8n too

The same dcp_ key and the same x-dc-key header work anywhere you can call an API, so Make, n8n, and your own scripts connect to DataCops exactly the same way. There is one API underneath all of them, which means you never rebuild an integration per tool: pick whichever automation app you prefer and it reads and writes the same clean data. To send Salesforce or Pipedrive deals in, the DataCops webhook works directly or through any of these tools.

Was this page helpful?