VideoAmp

Datafly Signal delivers conversion events to VideoAmp server-to-server via the VideoAmp Conversions API. This closes the attribution loop for cross-platform video and CTV campaigns by feeding downstream outcomes (purchases, leads) back into VideoAmp’s measurement stack.

⚠️

This integration is alpha. VideoAmp does not publish an extensive public Conversions API reference. The blueprint targets the published api.videoamp.com/v1/conversions endpoint with bearer-token auth; field names and the exact payload shape may differ for your VideoAmp account. Verify the endpoint, payload structure, and required identifiers with your VideoAmp rep before going to production.

Prerequisites

Before configuring VideoAmp in Signal you need:

  1. An active VideoAmp advertiser account.
  2. Your VideoAmp advertiser_id (numeric account ID).
  3. A bearer token (api_token) issued by VideoAmp authorising conversion writes against your advertiser.
  4. Confirmation from VideoAmp that the Conversions API is enabled and the field names below match your account configuration.

Step 1: Request Conversions API Access

Contact your VideoAmp account team and ask them to:

  • Enable the Conversions API for your advertiser.
  • Issue a long-lived API token (api_token) scoped to the advertiser.
  • Confirm the expected payload shape, especially around identity field names (external_id, email, phone) and event types (conversion, lead).

Configure in Signal

Configuration Fields

FieldRequiredDescription
advertiser_idYesYour VideoAmp advertiser ID (numeric).
api_tokenYesBearer token authorising server-side conversion writes. Treat as a secret.

Management UI Setup

  1. Go to Integrations > Add Integration > VideoAmp.
  2. Choose the Retail preset (purchases + leads).
  3. Enter your advertiser_id and api_token.
  4. Select consent categories — marketing is the default.
  5. 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": "videoamp",
    "name": "VideoAmp Production",
    "enabled": true,
    "config": {
      "advertiser_id": "1234567",
      "api_token": "va_token_secret_abc123"
    },
    "consent_categories": ["marketing"]
  }'

API Endpoint

POST https://api.videoamp.com/v1/conversions
Authorization: Bearer {api_token}

The advertiser_id is carried inside the JSON body so a single token can write against multiple advertisers if VideoAmp permits.

Identity Signals

VideoAmp matches server conversions back to cross-platform video exposures using:

SignalFieldDescription
external_idtop-levelDatafly anonymous_id — stable cross-session identifier.
emailtop-levelSHA-256 hashed, lowercased email when supplied via datafly.identify().
phonetop-levelSHA-256 hashed phone (E.164) when supplied via datafly.identify().
iptop-levelVisitor IP forwarded from the original browser request.
user_agenttop-levelVisitor User-Agent forwarded from the original browser request.

All hashing is performed by Signal before the event leaves your infrastructure — raw PII never reaches VideoAmp.

Event Mapping

Retail preset

Signal eventVideoAmp event
Order Completedconversion
Lead Submittedlead

To customise, edit the integration’s Field Mappings in the Management UI.

Example: Purchase Event

Datafly.js call:

datafly.track("Order Completed", {
  order_id: "ORD-001",
  revenue: 129.99,
  currency: "USD",
  email: "jane.doe@example.com"
});

VideoAmp payload sent by Signal:

{
  "event": "conversion",
  "advertiser_id": "1234567",
  "external_id": "anon_abc123def456",
  "email": "0d8af753a8a1bd2... (sha256)",
  "ip": "203.0.113.50",
  "user_agent": "Mozilla/5.0 ...",
  "transaction_id": "ORD-001",
  "value": 129.99,
  "currency": "USD"
}

Testing Your Integration

  1. Configure the integration in a non-production source first.
  2. Trigger the configured conversion events on your site.
  3. Share a sample payload (capturable via Signal’s event preview) with your VideoAmp rep and confirm they’re seeing the events against the right advertiser.
  4. Once verified end-to-end, promote the configuration to production.

Troubleshooting

ProblemSolution
401 / 403 responsesThe api_token is invalid, expired, or scoped to a different advertiser. Re-issue via your VideoAmp rep.
400 Bad RequestField names in the payload may not match your account’s expectations. Capture a request from Signal’s preview tool and share with VideoAmp support.
Conversions arriving but not closing the attribution loopIncrease identity coverage: pass email and phone via datafly.identify() so VideoAmp can match against household-level exposures.

Rate Limits

VideoAmp does not publish a public rate-limit number. Signal will retry on 429 / 5xx with exponential backoff.