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.

⚠️

Podsights is being folded into Spotify’s measurement stack, so the payload shape and required identity fields can shift on the vendor side. Validate against a test pixel before going to production.

Why route Podsights through Datafly Signal

  • Conversions survive ad blockers and tracking prevention. A browser tag served from an advertising domain is blocked outright for part of your traffic, and Safari’s ITP shortens the cookies it can set. Signal sends the event from your own server, so the conversions Podsights optimises against are not filtered by the browser.
  • Email is hashed before leaving your infrastructure. Signal normalises (trim and lowercase) and applies SHA-256 inside your own deployment, so Podsights receives match keys rather than raw personal data.
  • Client IP and user agent are preserved. Server-to-server delivery normally loses both, which weakens matching. Signal forwards the genuine visitor values as request headers so Podsights attributes the event to the right session.
  • One consent decision governs every destination. Podsights is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
  • No vendor tag on the page. Removing it removes its page weight and its independent access to your visitors.

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.