Awin
Send conversion and order data to the Awin affiliate marketing network via the server-to-server Conversion API. Zeotap delivers order events in near real-time batches, enabling accurate affiliate attribution without relying on client-side tracking pixels.
Prerequisites
- An Awin advertiser account with API access enabled
- Your Advertiser ID (found in the Awin advertiser dashboard)
- A Conversion API key (generated in the Awin dashboard under API Credentials)
- Conversion data with order references and amounts
Permissions
Your Awin account must have the Conversion API feature enabled. Contact your Awin account manager if you do not see API credentials in your dashboard.
Authentication
Awin uses an API key for authentication, passed via the x-api-key header.
- Log in to the Awin advertiser dashboard
- Navigate to API Credentials or Technical Integration settings
- Generate or copy your Conversion API key
- In Zeotap, paste the API key when creating the destination
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Advertiser ID | Text | Yes | Your Awin advertiser account ID (numeric). |
| Channel | Text | No | The channel identifier for conversions. Defaults to aw for standard Awin tracking. |
| Default Commission Group | Text | No | Default commission group code for orders when not specified per row. Defaults to DEFAULT. |
| Default Currency | Text | No | Default ISO 4217 currency code for conversions when not specified per row. Defaults to USD. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Insert | Yes |
| Update | — |
| Upsert | — |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | — |
| Remove | — |
| Mirror | — |
| Upsert | — |
Features
| Feature | Supported |
|---|---|
| Field Mapping | Yes |
| Schema Introspection | No |
Required Mapping Fields
| Field | Description |
|---|---|
order_reference | Unique order or transaction identifier (max 50 characters). Maps to Awin’s orderReference field. |
amount | Total conversion amount as a decimal number. Maps to the Awin order amount and commission group amount. |
Default Destination Fields
Order Identification
| Field | Type | Description |
|---|---|---|
order_reference | string | Unique order or transaction identifier (max 50 characters). |
amount | number | Total conversion amount. |
currency | string | ISO 4217 currency code (e.g., USD, EUR, GBP). Falls back to the configured default. |
channel | string | Channel identifier (e.g., aw). Falls back to the configured default. |
Attribution
At least one attribution method is required per order. You can provide any one of the following:
| Field | Type | Description |
|---|---|---|
awc | string | The Awin click checksum parameter captured on your site. This is the preferred attribution method. |
publisher_id | string | The publisher (affiliate) ID. Must be sent together with click_time. |
click_time | string | Unix timestamp of the affiliate click (10 digits). Must be sent together with publisher_id. |
voucher | string | Voucher or coupon code for coupon-based attribution. |
Commission
| Field | Type | Description |
|---|---|---|
commission_group_code | string | Commission group code for the order. Falls back to the configured default commission group. |
Customer
| Field | Type | Description |
|---|---|---|
customer_acquisition | string | Whether this is a new or returning customer. Accepted values: NEW or RETURNING. |
Extended Data
| Field | Type | Description |
|---|---|---|
custom | string | Custom parameters as a JSON object with numeric keys (e.g., {"1": "value1", "2": "value2"}). Supports up to 127 custom fields. |
basket | string | Basket items as a JSON array. Each item should include id, name, price, quantity, commissionGroupCode, category, and sku. |
How It Works
Zeotap reads rows from your model query and applies field mapping to transform your data into Awin’s Conversion API order format.
Batch delivery: Orders are grouped into batches of up to 1,000 (the Awin API maximum) and sent via POST to https://api.awin.com/s2s/advertiser/{advertiser_id}/orders. Each batch is a JSON array of order objects.
Attribution: Every order must include at least one attribution method — the awc click parameter, a publisher_id + click_time combination, or a voucher code. Orders without any attribution method may be rejected by Awin.
Commission groups: Each order includes a commissionGroups array. Zeotap maps the amount and commission_group_code fields into this structure. If no commission group code is mapped, the configured default is used.
Partial success handling: The Awin API returns per-order success/failure details. Zeotap reports individual order errors (e.g., duplicate order references or missing attribution) so you can identify and fix specific rows.
Processing delay: Orders may take up to 3 minutes to appear in the Awin platform after submission.
Rate Limits
Awin recommends sending S2S batches no more frequently than every 10 seconds to avoid exceeding API limits. Zeotap batches orders up to the 1,000-order maximum and includes automatic retry with exponential backoff on 429 (rate limit) and 5xx (server error) responses.
Best Practices
- Always include attribution: Map at least one attribution field (
awc,publisher_id+click_time, orvoucher) per order. Orders without attribution cannot be matched to affiliate activity. - Use the awc parameter when available: The
awcclick checksum provides the most reliable attribution. Capture it from your landing page URL parameters and store it alongside order data. - Set accurate amounts: The
amountfield should reflect the total order value after discounts but before tax. This value is used for commission calculations. - Tag customer acquisition: Map
customer_acquisitionasNEWorRETURNINGto help affiliates optimize for customer quality. - Use basket items for granular tracking: When you have line-item data, map the
basketfield to enable product-level reporting in Awin. - Keep order references unique: The
order_referencefield must be unique per order (max 50 characters). Duplicate order references may be rejected.
Troubleshooting
Orders not appearing in Awin dashboard
Verify your Advertiser ID and API key are correct. Navigate to API Credentials in the Awin dashboard and confirm both match your Zeotap configuration. Orders may take up to 3 minutes to appear after submission.
Authentication failed (401) error
The API key is invalid or expired. Generate a new API key in the Awin dashboard under API Credentials and update the destination in Zeotap.
Orders rejected with missing attribution
Every order requires at least one attribution method. Ensure each row has either an awc value, both publisher_id and click_time, or a voucher code. Check your model query to confirm these fields are populated.
Duplicate order reference errors
Awin rejects orders with orderReference values that have already been submitted. Ensure your model query filters out previously synced orders or uses unique identifiers.
Invalid amount format
The amount field must be a decimal number using a period as the decimal separator (e.g., 29.99). Comma-separated values (e.g., 29,99) are not accepted. Transform the format in your model query if needed.
Currency code not recognized
The currency field must be a valid ISO 4217 code (e.g., USD, EUR, GBP). If this field is not mapped, the configured default currency is used. Verify your currency codes match the ISO standard.
Partial batch failures (206 response)
When some orders in a batch succeed and others fail, Zeotap reports individual error details per order. Check the sync run logs for specific error codes and messages. Common causes include missing required fields or invalid attribution data.
Custom parameters not appearing in reports
Custom parameters must be a JSON object with numeric string keys (e.g., {"1": "campaign_name", "2": "landing_page"}). Non-numeric keys are ignored. Ensure the JSON is valid and the key numbers are between 1 and 127.