Skip to main content

DiscoAds Conversion tracking

Send conversion events to a single unified endpoint. Both GET (postback) and POST (server-side / Web SDK) are supported, authenticated by account_id.

Advertisers can send Disco multiple events, with one designated as the primary conversion event; secondary events can drive secondary optimizations. There must be a persistent identifier across events to ensure accurate attribution.

Endpoint

https://partners.disconetwork.com/advertiser/events/

No API key required. Authentication is via account_id, provisioned by your Disco account team. Event names must be configured in Disco's system before they'll fire; share your event-name options with your account team.

Required fields​

FieldTypeRequiredDetails
account_idstring✓Your Disco-provisioned advertiser account ID
event_namestring✓The configured conversion event (e.g. SIGNUP, PURCHASE). Case-insensitive
click_idstringconditionalProvide click_id, email, or email_hash. At least one customer identifier is required. click_id gives the most precise attribution
emailstringconditionalPlain-text email of the converting shopper (alternative identifier to click_id)
email_hashstringconditionalSHA-256 hash of the lowercased email (alternative identifier to click_id)

GET: postback URL​

Use GET when integrating via postback URL; pass parameters as query strings. Any extra parameters are captured as custom metadata for analytics.

https://partners.disconetwork.com/advertiser/events/?account_id=YOUR_ACCOUNT_ID&event_name=SIGNUP&click_id=dsc_abc123

With event_datetime + custom metadata:

https://partners.disconetwork.com/advertiser/events/?account_id=YOUR_ACCOUNT_ID&event_name=PURCHASE&click_id=dsc_abc123&event_datetime=2026-03-17T12%3A00%3A00Z&sku1=value1&sku2=value2

POST: server-side (JSON)​

Send Content-Type: application/json from your backend. Use event_properties for identifiers and custom_metadata for anything else.

{
"event_name": "SIGNUP",
"account_id": "YOUR_ACCOUNT_ID",
"event_properties": {
"click_id": "dsc_abc123",
"email": "shopper@example.com",
"email_hash": "c9b780607...",
"event_datetime": "2026-04-20T17:30:00Z",
"custom_metadata": { "sku1": "SERUM-01", "sku2": "CREAM-02" }
}
}

Web SDK / GTM​

Integrating directly on your site or via Google Tag Manager? Both methods send requests from the browser to the Disco Events API. GET is recommended because it works out of the box. Fire the script on your conversion event (e.g. purchase-confirmation page load); in GTM, add either as a Custom HTML tag with the right trigger.

<script>
var url = "https://partners.disconetwork.com/advertiser/events/" +
"?account_id=YOUR_ACCOUNT_ID" +
"&event_name=YOUR_EVENT_NAME" +
"&click_id=YOUR_CLICK_ID";
fetch(url);
</script>
<script>
fetch("https://partners.disconetwork.com/advertiser/events/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
account_id: "YOUR_ACCOUNT_ID",
event_name: "YOUR_EVENT_NAME",
event_properties: { click_id: "YOUR_CLICK_ID" }
})
});
</script>

Error responses​

StatusMessageCause
400"Request missing required properties."Missing a user identifier or custom metadata
400"Events not configured for this account."No event names set up yet. Contact your Disco account team
400"event_name not provided on request."The event_name field is missing
400"Event name not configured for account. Options: [...]"The event_name doesn't match a configured event; the response lists valid names
422Detailed JSON responseMost likely the account_id is missing or incorrect
tip

event_name is case-insensitive. Never include PII in custom_metadata. Contact your Disco account team to provision new event_name or account_id values.

Already on Shopify?​

The Disco app handles conversion tracking automatically, no code required. Just install and connect your store.

Dig deeper​