Twitter Ads
Twitter Ads (now X Ads) is X's advertising platform for promoted content, conversion campaigns, and audience targeting. This destination loads the X/Twitter Universal Website Tag (UWT) JavaScript SDK in the browser and forwards conversion events based on a configurable event mapping. Page and identify events are not forwarded. There is no server-side component.
Getting Started
This is a device-mode destination. The Twitter/X UWT SDK is loaded automatically — no manual script installation is required. You will need:
- Pixel ID — your Twitter/X Pixel ID, found in your X Ads account under Tools > Conversion Tracking.
Optionally:
- Event Mapping — maps Chord event names to Twitter Event IDs (e.g., { "Product Added": "tw-abc12-def34" }). Only events with an explicit entry in this mapping are forwarded. All unmapped events are silently skipped.
- Identifier — which product field to use as the content ID (product_id, sku, or id). Defaults to product_id > id > sku fallback chain.
Connecting to the Twitter Ads CDP Destination
- Log into the Chord data platform.
- Navigate to the CDP.
- Click the "Add" button next to Destinations.
- Select Twitter Ads from the destination catalog.
- Enter the destination name and your Pixel ID.
- Configure the Event Mapping to specify which Chord events should fire which Twitter Event IDs.
- Optionally configure the Identifier field.
- Click "Create" to connect.
Events
Page and identify events are not forwarded to Twitter Ads.
Only track events with an explicit entry in the Event Mapping configuration are forwarded. All unmapped events are silently skipped.
Track Events
Twitter SDK call: twq("event", twitterEventId, eventPayload)
User Parameters
Twitter Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
email_address | properties.email > context.traits.email > traits.email | Automatically hashed by the Twitter SDK |
phone_number | properties.phone > context.traits.phone > traits.phone | Automatically hashed by the Twitter SDK |
Order Parameters
Twitter Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
value | properties.revenue > properties.total > properties.value | |
currency | properties.currency | Defaults to "USD" |
conversion_id | properties.cart_id / properties.order_id | Used for deduplication |
Product Contents
Each product in properties.products[] is mapped to a Twitter content item:
Twitter Attribute | Chord Source (Priority Order) | Notes |
|---|---|---|
content_id | Configured identifier field from properties.products[] > product_id > id > sku | |
content_name | properties.products[].name | |
content_price | properties.products[].price | |
num_items | properties.products[].quantity | |
content_type | properties.products[].category | |
content_group_id | properties.products[].variant_id | |
All undefined values are filtered out before sending.
Initialization
The plugin sets up the twq function queue, then loads https://static.ads-twitter.com/uwt.js. After the script loads, it calls twq("config", pixelId) to initialize the pixel.
The plugin manages SDK loading state (fresh → loading → loaded/failed) to prevent duplicate script loads. If the script fails to load, subsequent events are silently dropped.
CSP Requirements
If your site uses a Content Security Policy, allow the following domains:
Directive | Domain |
|---|---|
script-src | https://static.ads-twitter.com |
connect-src | https://static.ads-twitter.com |
Updated 6 Apr 2026