Pinterest Ads
Datafly Signal delivers conversion events to Pinterest server-to-server, replacing the client-side Pinterest Tag with lightweight server-side delivery. This provides reliable campaign attribution and ad performance measurement without loading vendor JavaScript.
Prerequisites
Before configuring Pinterest Ads in Signal, you need a Pinterest Business account with a Pinterest Tag created and a conversion access token.
Create a Pinterest Business Account
- Go to business.pinterest.com and click Join as a business (or convert your personal account).
- Enter your business name, website URL, and select your business type.
- Complete the account setup wizard.
Set Up Pinterest Ads Manager
- In your Pinterest Business account, navigate to Ads in the top menu.
- If prompted, set up your billing information to activate Ads Manager.
- Note your Ad Account ID — found in Ads Manager > Account Settings (a numeric ID like
549764982399).
Create a Pinterest Tag and Get Conversion Token
- In Pinterest Ads Manager, go to Conversions in the left sidebar.
- Click Create Pinterest Tag if you don’t already have one.
- Name your tag (e.g. “Website Tag”) and click Create.
- Navigate to Conversions > Conversion Access Token.
- Click Generate Token and copy the token immediately.
Copy the conversion token immediately — it may only be shown once. Store it securely. If you lose it, you will need to generate a new one.
You do not need to install the Pinterest Tag JavaScript snippet on your website. Signal replaces the client-side tag with server-side delivery.
Configure in Signal
Now that you have your Ad Account ID and conversion token, configure the integration in Signal.
Configuration Fields
| Field | Required | Description |
|---|---|---|
ad_account_id | Yes | Your Pinterest ad account ID (numeric). Found in Pinterest Ads Manager under Account Settings. |
conversion_token | Yes | Conversion access token for server-side event delivery. Generated in Pinterest Ads Manager under Conversions. |
Vendor Click IDs
Signal automatically captures the following Pinterest click identifiers from URL parameters:
| Vendor ID | Parameter | Description |
|---|---|---|
epik | epik | Pinterest enhanced match click ID. Used for improved attribution. |
pin_unauth | pin_unauth | Pinterest unauthenticated user ID. Used when the user is not logged in to Pinterest. |
These are captured automatically by the Datafly.js collector and forwarded with conversion events.
Management UI Setup
- Go to Integrations > Add Integration > Pinterest Ads.
- Enter your
ad_account_idandconversion_token. - Select consent categories (typically
advertising). - Click Save.
Management API Setup
curl -X POST http://localhost:8084/v1/admin/integrations \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_id": "src_abc123",
"vendor": "pinterest_ads",
"name": "Pinterest Ads Production",
"enabled": true,
"config": {
"ad_account_id": "549764982399",
"conversion_token": "ct_ABC123..."
},
"consent_categories": ["advertising"]
}'Event Mapping
| Datafly Event | Pinterest Event | Notes |
|---|---|---|
page (page view) | page_visit | Sent for every page view |
Order Completed | checkout | Requires value, currency, order_id |
Product Added | add_to_cart | Includes product_id, value |
Checkout Started | checkout | Includes value, currency |
Product Viewed | view_category | Includes product details |
Lead Generated | lead | Lead form submission |
Signed Up | signup | User registration |
Products Searched | search | Includes search_string |
| Custom events | custom | Sent as custom event with event name |
Identity Signals
Automatic Signals
These are sent automatically by Signal — no configuration needed:
| Signal | Description |
|---|---|
epik | Pinterest enhanced match click ID, captured from URL parameters. |
pin_unauth | Pinterest unauthenticated user ID, captured from URL parameters. |
| IP address | Visitor’s IP address, forwarded from the original request. |
| User agent | Visitor’s User-Agent string, forwarded from the original request. |
| External ID | Set to the Datafly anonymous_id (hashed). |
User-Provided Signals
When a user is identified via _df.identify(), additional signals improve attribution:
| Signal | Description |
|---|---|
| Email (hashed) | User’s email address, SHA-256 hashed before sending. |
All PII hashing is performed server-side by the Delivery Worker before the data leaves your infrastructure.
Testing Your Integration
Step 1: Send a Test Event
- Trigger a page view or conversion event on your website.
- Check the Signal event debugger in the Management UI to confirm the event was captured and delivered.
Step 2: Verify in Pinterest Ads Manager
- In Pinterest Ads Manager, go to Conversions > your tag.
- You should see events arriving within a few minutes.
- Check the Event History to inspect individual events and their match quality.
Step 3: Validate Attribution
- Create a test campaign with a small audience.
- Confirm that conversion events are attributed correctly in campaign reports.
Troubleshooting
| Problem | Solution |
|---|---|
| Events not appearing in Pinterest | Verify the ad_account_id and conversion_token are correct. Check that the token has not been revoked. |
| Authentication errors | Regenerate the conversion token in Pinterest Ads Manager and update the integration config in Signal. |
Missing epik or pin_unauth | These are captured from URL parameters when users click Pinterest ads. They will not be present for organic traffic. |
| Low match rate | Add user identity signals (email) via _df.identify() when users log in or submit forms. Ensure epik click IDs are being captured. |
| Events delayed | Pinterest may take up to 20 minutes to display server-side events. Allow time before investigating further. |
Visit Pinterest Ads API documentation for full API documentation and credential setup instructions.