Convert
Signal sends goal conversions (purchases, leads, sign-ups and so on) to Convert Experiences from the server, through Convert’s Experiences Tracking API. Experiments themselves (bucketing a visitor and showing a variation) run in the Convert browser tag; the server side records conversions for visitors the tag has already bucketed.
Convert can only attribute a server-side conversion to a visitor it knows. Signal sends its anonymous ID as the visitor ID, so the Convert tag must be given that same ID as its visitor ID (Convert’s “Bring Your Own ID”) before the tag loads. Without that, conversions are recorded against unknown visitors.
Prerequisites
- Your Convert account ID and project ID.
- The goal ID of each Convert goal you want Signal to fire (Project > Goals).
- The Convert tag configured with Signal’s anonymous ID as its visitor ID (BYOID).
Configuration fields
| Field | Required | Description |
|---|---|---|
account_id | Yes | Convert account ID. |
project_id | Yes | Convert project ID. |
purchase_goal_id | No | Goal fired by purchase (with revenue, transaction ID and product count). |
add_to_cart_goal_id | No | Goal fired by add_to_cart. |
checkout_goal_id | No | Goal fired by begin_checkout. |
lead_goal_id | No | Goal fired by generate_lead and demo_requested. |
quote_goal_id | No | Goal fired by quote_requested (with the quote value as revenue). |
signup_goal_id | No | Goal fired by sign_up. |
trial_goal_id | No | Goal fired by trial_started. |
subscription_goal_id | No | Goal fired by subscription_started (with revenue). |
api_key | No | Not used: the tracking endpoint takes no API key. |
An event whose goal field is blank is not sent.
API endpoint
POST https://metrics.convertexperiments.com/v1/track/{account_id}/{project_id}
Content-Type: application/json
{
"accountId": "10012345",
"projectId": "10056789",
"enrichData": true,
"visitors": [{
"visitorId": "{Signal anonymous ID}",
"events": [{
"eventType": "conversion",
"data": {
"goalId": "99887766",
"goalData": [
{"key": "amount", "value": 104.5},
{"key": "transactionId", "value": "T-1001"},
{"key": "productsCount", "value": 3}
]
}
}]
}]
}enrichData: true asks Convert to attribute the conversion to the experiences it stored for the visitor (availability depends on your plan). Convert has no currency field: amount is taken as the account’s currency. Source: Convert API for Experiences Serving and Convert’s custom integrations guide (read 2026-09-22).
Presets
| Preset | Events |
|---|---|
| Default | sign_up, generate_lead, purchase |
| Retail | add_to_cart, begin_checkout, purchase, sign_up, generate_lead |
| Insurance | quote_requested, generate_lead, purchase |
| B2B / SaaS | demo_requested, sign_up, trial_started, subscription_started |
No personal data is sent.
Consent
Default consent category: analytics.
Blueprint
Blueprint version 0.3.0 (not yet tested against a live Convert account).