OppiziDeveloper
Guides

Track a Conversion

Send signups and purchases back to Oppizi with the Tracking API, tie them to campaign attribution, and read them back.

Tracking a conversion tells Oppizi when something meaningful happens after someone sees your campaign — a signup, a purchase, a booking. Those events feed attribution and power the revenue & ROI figures you read back on each campaign.

Events go through the Tracking API (/tracking/events), authenticated with the same client key.

export OPPIZI_CLIENT_KEY="YOUR_CLIENT_KEY"
export API="https://developer-api.oppizi.com"

Create an event

POST /tracking/events records a conversion:

curl -X POST "$API/tracking/events" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "eventName": "Purchase",
    "value": 250,
    "metadata": { "orderId": 182394 }
  }'
{
  "success": true,
  "data": {
    "id": "evt_5c90",
    "eventName": "Purchase",
    "value": 250,
    "createdAt": "2026-08-03T14:22:00Z"
  }
}

The equivalent from JavaScript:

await fetch('https://developer-api.oppizi.com/tracking/events', {
  method: 'POST',
  headers: new Headers({
    'Content-Type': 'application/json',
    Authorization: `Bearer ${process.env.OPPIZI_CLIENT_KEY}`,
  }),
  body: JSON.stringify({
    eventName: 'Purchase',
    value: 250,
    metadata: { orderId: 182394 },
  }),
});

How it ties to attribution

When a recipient scans a flyer or postcard, Oppizi attributes the event you send back to the originating campaign. That's what turns raw scans into conversions, CVR, revenue and ROI on the performance endpoints — so send the event as soon as the conversion happens, and include a value when there's revenue.

Read and update events

Fetch an event back, or correct one:

# Read a single event
curl "$API/tracking/events/evt_5c90" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

# Update it (e.g. corrected order value)
curl -X PUT "$API/tracking/events/evt_5c90" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "value": 275 }'

Read conversions back

To see the conversions attributed to your campaigns — alongside your results — use the conversions list:

curl "$API/client/conversions" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

Via MCP

With the client:track scope, your assistant can record events for you and read them back alongside campaign results:

"Log a $250 purchase conversion, order 182394."

"Show me the conversions attributed to my Spring campaign."

See Connect Claude or ChatGPT.

Next steps

On this page