Podsights

Datafly Signal delivers conversion events to Podsights (now part of Spotify) server-to-server using the Podsights server-side collector. This lets Podsights credit podcast ad impressions against downstream outcomes like purchases, leads, and signups without relying on a client-side pixel.

⚠️

This integration is currently alpha. The blueprint is built against Podsights’ published server-side pixel documentation; the JSON payload shape and required identity fields may evolve as Podsights iterates on the Spotify-integrated successor. Validate against a test pixel before going to production.

Prerequisites

Before configuring Podsights in Signal you need:

  1. An active Podsights account with at least one advertiser configured.
  2. A Pixel created in the Podsights dashboard — note its pixel key (used as the key field).
  3. Confirmation from your Podsights / Spotify rep that the server-side collector is enabled for your account.

Step 1: Locate Your Pixel Key

  1. Sign in to the Podsights dashboard.
  2. Open the Pixel Setup section for the advertiser you want to send conversions for.
  3. Copy the pixel key (also referred to as the advertiser key).

Treat the pixel key as a secret. Anyone with it can write conversion events into your Podsights account.

Configure in Signal

Configuration Fields

FieldRequiredDescription
keyYesYour Podsights pixel key. Carried in the body of every request as the key field.

Management UI Setup

  1. Go to Integrations > Add Integration > Podsights.
  2. Choose the Retail preset (purchases, leads, add-to-cart, signups).
  3. Enter your key.
  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": "podsights",
    "name": "Podsights Production",
    "enabled": true,
    "config": {
      "key": "ps_pixel_key_abc123"
    },
    "consent_categories": ["marketing"]
  }'

API Endpoint

POST https://collector.podsights.com/v1/server

Authentication is carried as the key field inside the JSON body — there is no header- or query-based auth on this endpoint.

Identity Signals

Podsights matches server events to listener exposures using a combination of automatically-captured request signals and optional hashed PII:

SignalFieldDescription
iptop-levelVisitor IP forwarded from the original browser request.
user_agenttop-levelVisitor User-Agent forwarded from the original browser request.
idtop-levelDatafly anonymous_id — stable cross-session identifier.
emtop-levelSHA-256 hashed, lowercased email when supplied via datafly.identify().
urltop-levelURL of the page where the conversion happened.

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

Event Mapping

Retail preset

Signal eventPodsights event
Order Completedpurchase
Lead Submittedlead
Product Addedaddtocart
Signed Upsignup

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"
});

Podsights payload sent by Signal:

{
  "key": "ps_pixel_key_abc123",
  "event": "purchase",
  "id": "anon_abc123def456",
  "em": "0d8af753a8a1bd2... (sha256)",
  "ip": "203.0.113.50",
  "user_agent": "Mozilla/5.0 ...",
  "order_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 events on your site.
  3. In the Podsights dashboard, open Real-Time Events (or the equivalent debug view) and confirm events are arriving against the right pixel key.
  4. Once events are visible, promote the configuration to production.

Troubleshooting

ProblemSolution
Events not arrivingConfirm the key value matches the pixel exactly. Pixel keys are advertiser-scoped, so a typo silently drops events.
Conversions not attributed to podcast impressionsConfirm with your Podsights rep that the listener pre-exposure data is flowing into the same account. Attribution requires both sides.
Hashed email not matchingMake sure email is being passed via datafly.identify() (lowercased, trimmed before hashing).

Rate Limits

Podsights does not publish a public rate-limit number. The collector accepts steady write traffic at well above typical e-commerce conversion volumes; Signal will retry on 429 / 5xx with exponential backoff.