Impact.com
Send server-side conversion events to Impact.com for partner attribution and commission tracking. Zeotap delivers conversion data via the Impact.com Conversions API, enabling accurate partnership measurement without relying on client-side pixels or JavaScript tags.
Prerequisites
- An Impact.com brand (advertiser) account
- Your Account SID and Auth Token (found in Settings > API in the Impact.com dashboard)
- At least one Event Type (action tracker) configured in Impact.com
- A Campaign (Program) ID for the partnership program to attribute conversions to
- Conversion event data with unique order identifiers
Permissions
Your Impact.com account must have API access enabled. Contact your Impact.com account manager if the API section is not visible under Settings.
Authentication
Impact.com uses HTTP Basic Authentication with your Account SID and Auth Token.
- Log in to the Impact.com dashboard
- Navigate to Settings > API
- Copy your Account SID (starts with
IR) - Copy your Auth Token
- In Zeotap, paste both values when creating the destination
The Account SID and Auth Token are used together for HTTP Basic Auth on every API request. Keep the Auth Token confidential — treat it like a password.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Default Currency Code | Text | No | Default ISO 4217 currency code for conversion events (e.g., USD, EUR). Can be overridden per-row via field mapping. |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Event Type ID | Text | No | The numeric Event Type ID for conversions. Found under Settings > Event Types in Impact.com. Provide either this or Event Type Code. |
| Event Type Code | Text | No | The alphanumeric Event Type Code for conversions. A configurable code set in Settings > Event Types. Provide either this or Event Type ID. |
| Campaign ID | Text | Yes | The Campaign (Program) ID to associate conversions with. Found in your Impact.com campaign settings. |
You must provide at least one of Event Type ID or Event Type Code to identify the type of conversion being tracked.
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Insert | Yes |
| Update | — |
| Upsert | — |
| Mirror | — |
Impact.com’s Conversions API is append-only — each request creates a new conversion event. Conversions cannot be updated or deleted via the API.
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | — |
| Remove | — |
| Mirror | — |
| Upsert | — |
Impact.com does not have a list or audience membership API. Use sync modes for sending conversion events only.
Features
| Feature | Supported |
|---|---|
| Field Mapping | Yes |
| Schema Introspection | No |
Required Mapping Fields
| Field | Description |
|---|---|
order_id | A unique order or transaction identifier. Must be unique within the event type. |
Default Destination Fields
Core Conversion Fields
| Field | Type | Description |
|---|---|---|
order_id | string | Unique order or transaction identifier. Must be unique per event type. |
event_date | timestamp | Conversion timestamp in ISO 8601 format (e.g., 2024-01-15T10:30:00Z). Defaults to current time if not mapped. |
amount | number | Total sale or conversion amount. |
currency_code | string | ISO 4217 currency code (e.g., USD, EUR, GBP). |
Attribution Keys
| Field | Type | Description |
|---|---|---|
click_id | string | The Impact.com click tracking reference (irclickid / im_ref value). Primary attribution key. |
customer_id | string | Unique customer identifier for attribution matching. |
order_promo_code | string | Promotional or coupon code used in the transaction. Can serve as an attribution key. |
At least one attribution key is recommended for accurate partner attribution. Multiple keys improve attribution accuracy.
Customer Information
| Field | Type | Description |
|---|---|---|
customer_status | string | Whether the customer is NEW or EXISTING. |
customer_email | string | SHA-256 hashed email address for identity matching. |
customer_city | string | Customer’s city for geographic reporting. |
customer_post_code | string | Customer’s postal or ZIP code. |
customer_country | string | Customer’s country code. |
customer_region | string | Customer’s state or region. |
Order Details
| Field | Type | Description |
|---|---|---|
order_discount | number | Total discount amount applied to the order. |
order_sub_total_post_discount | number | Order subtotal after discounts are applied. |
order_shipping | number | Shipping cost for the order. |
order_tax | number | Tax amount for the order. |
payment_type | string | Payment method used (e.g., credit_card, paypal). |
Item-Level Fields
| Field | Type | Description |
|---|---|---|
item_sku | string | Product SKU or identifier. |
item_name | string | Product name or description. |
item_category | string | Product category classification. |
item_quantity | number | Quantity of the item purchased. |
item_sub_total | number | Line item total (quantity x price). |
Tracking and Enrichment
| Field | Type | Description |
|---|---|---|
ip_address | string | Customer’s IP address for fraud detection and geolocation. |
user_agent | string | Customer’s browser user agent string for device reporting. |
note | string | General-purpose text field for additional event information. |
Custom Fields
| Field | Type | Description |
|---|---|---|
text1 | string | Custom text field. Impact.com supports up to 10 custom text fields (text1–text10). |
numeric1 | number | Custom numeric field. Impact.com supports up to 10 custom numeric fields (numeric1–numeric10). |
How It Works
Zeotap reads rows from your model query and applies field mapping to transform your data into Impact.com’s conversion event format.
Event delivery: Each row is sent as an individual POST request to https://api.impact.com/Advertisers/<AccountSID>/Conversions with form-encoded parameters. Impact.com does not offer a batch conversion endpoint.
Authentication: Every request uses HTTP Basic Authentication with your Account SID and Auth Token.
Conversion lifecycle: Submitted conversions begin in QUEUED status. Impact.com processes them asynchronously — attribution determination and partner payout calculation happen after submission. You can monitor conversion status in the Impact.com dashboard.
Attribution: Impact.com uses attribution keys (Click ID, Customer ID, Promo Code) to match conversions to partner referrals. Providing the click_id (the irclickid or im_ref value captured during the user’s click) provides the strongest attribution signal.
Item-level data: For purchase conversions with multiple products, map item fields (item_sku, item_name, item_category, item_quantity, item_sub_total). For single-item conversions, these are mapped directly. For multi-item orders, pre-format item data with indexed field names in your model query.
Error handling: Zeotap retries failed requests automatically on transient errors (5xx, network issues). API validation errors (400) are recorded as row-level errors and reported in the sync run details.
Rate Limits
Impact.com enforces hourly rate limits by endpoint group:
| Endpoint Group | Limit |
|---|---|
| Performance detail (Actions, Clicks) | 500 requests/hour |
| Performance aggregate | 250 requests/hour |
| Other (including Conversions) | 1,000 requests/hour |
When rate limits are exceeded, the API returns HTTP 429 with a Retry-After header. Zeotap automatically retries rate-limited requests.
For high-volume conversion syncs, consider scheduling syncs during off-peak hours or reducing model query result sizes to stay within the 1,000 requests/hour limit.
Best Practices
- Always include a Click ID when available: The
click_idfield provides the strongest attribution signal. Capture theirclickidorim_refquery parameter from partner referral URLs and store it with your conversion data - Use unique Order IDs: Order IDs must be unique within each event type. Duplicate Order IDs are rejected by the API
- Set Event Date accurately: Map the
event_datefield to the actual conversion timestamp rather than relying on the default (current time). This ensures accurate attribution windows - Include customer status: Map
customer_statusasNEWorEXISTINGto enable partner programs that differentiate between new customer acquisition and returning customer conversions - Hash emails before sending: The
customer_emailfield should contain a SHA-256 hash, not the raw email address - Provide multiple attribution keys: While one attribution key is sufficient, sending both
click_idandcustomer_idimproves attribution accuracy for edge cases
Troubleshooting
Conversions not appearing in Impact.com dashboard
Conversions are processed asynchronously after submission. They begin in QUEUED status and may take several minutes to appear. Check the API Submissions section in the Impact.com dashboard to verify receipt.
Authentication failed (HTTP 401)
Verify your Account SID and Auth Token are correct. The Account SID typically starts with IR. Copy both values directly from Settings > API in the Impact.com dashboard without extra spaces.
Order ID already exists error
Order IDs must be unique within each event type. If you receive a duplicate Order ID error, verify that your model query produces unique identifiers. Consider appending a timestamp or sequence number if your source data may produce duplicates.
Missing attribution — conversions not matched to partners
At least one attribution key (click_id, customer_id, order_promo_code) must match a tracked partner interaction. If conversions are submitted but not attributed, verify that you are capturing and storing the irclickid parameter from partner referral URLs.
Event Type ID not found error
Verify the Event Type ID exists in Settings > Event Types in the Impact.com dashboard. Event Type IDs are numeric. If using Event Type Code instead, ensure the code matches exactly (case-sensitive).
Rate limit exceeded (HTTP 429)
Impact.com limits Conversions API requests to 1,000 per hour. If you are syncing large volumes, reduce your model query batch size or schedule syncs at longer intervals. Check the Retry-After response header for the wait duration.
Currency code validation error
Ensure the currency_code field contains a valid ISO 4217 code (e.g., USD, EUR, GBP). Invalid currency codes are rejected by the API.
Conversion amounts not matching expected values
Verify that amount values are decimal numbers without currency symbols. Use order_sub_total_post_discount for the post-discount total and order_discount for the discount amount separately.