IntegrationsAdvertisingWP Ads (Wirtualna Polska)

WP Ads (Wirtualna Polska)

Datafly Signal delivers conversion events to Wirtualna Polska server-to-server for campaign attribution and optimisation across the WP advertising network. WP is Poland’s largest web portal, and its conversion tracking is normally implemented as a browser pixel — Signal replaces that pixel entirely.

Why route WP Ads (Wirtualna Polska) 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 WP Ads (Wirtualna Polska) 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 WP Ads (Wirtualna Polska) 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 WP Ads (Wirtualna Polska) attributes the event to the right session.
  • Click identifiers are captured and replayed. Signal stores click_id first-party at collection time and attaches them to the conversion later, so attribution survives even when the original landing cookie has expired.
  • One consent decision governs every destination. WP Ads (Wirtualna Polska) 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 WP Ads in Signal, you need:

  • A WP Ads advertiser account.
  • Your Pixel ID — provided by your WP advertising account manager.
  • A server-side API Key for authenticating conversion events — also provided by your account manager.

WP issues the server-side API key separately from the browser pixel credentials. If your account manager has only supplied a pixel snippet, ask specifically for server-to-server (s2s) access.

Configuration fields

FieldRequiredNotes
pixel_idYesWP Ads pixel identifier, e.g. wp-12345abc.
api_keyYesServer-side API key. Stored as a secret.

API endpoint

POST https://std.wpcdn.pl/wpjslib/s2s?id={pixel_id}
X-Api-Key: {api_key}
Content-Type: application/json

Identity signals

Sent on every event, from the global block of the blueprint:

SignalSourceTreatment
Emailproperties.email or traits.emailNormalised, SHA-256 hashed
External IDuser_idSent as-is
Client IPcontext.ipForwarded as X-Forwarded-For
User agentcontext.user_agentForwarded as User-Agent

Event mapping

The default preset maps five Signal events onto WP’s conversion vocabulary:

Signal eventWP eventKey fields
pagepage_viewpage_url, page_title
view_itemview_contentcontent_id, content_name, content_category, value, currency
add_to_cartadd_to_cartcontent_id, value, currency
generate_leadleadform_id, value, currency
purchasepurchaseorder_id, value, currency

All event-specific fields land under custom_data; identity lands under user_data. Any additional mapped property is carried in custom_data via the catch-all, so you can extend the preset without changing the spec.

Configure in Signal

  1. In the management UI, open the pipeline serving your Polish traffic.
  2. Add the WP Ads integration and select the Advertising preset.
  3. Enter the Pixel ID and API Key.
  4. Review the event mappings against the conversions your WP campaigns optimise towards.
  5. Save and deploy the pipeline.

Verify it’s working

  1. Trigger a purchase on the site.
  2. In LiveFlow, confirm the event was delivered to WP Ads with a 2xx response.
  3. Confirm the conversion appears in the WP Ads dashboard. Attribution reporting can lag by up to a few hours.

Troubleshooting

401 or 403. The API key is wrong, or it is a browser pixel credential rather than a server-side key. Both are permanent failures — Signal will not retry.

400 with no detail. Usually a missing event_name or event_time. Check that the preset’s event mapping matches the Signal event name being emitted.

Conversions delivered but not attributed. Confirm the client IP is reaching Signal correctly. If Signal sits behind a proxy or CDN, the trusted-proxy configuration must be set or context.ip will carry the proxy’s address.

See also