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_idfirst-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
| Field | Required | Notes |
|---|---|---|
pixel_id | Yes | WP Ads pixel identifier, e.g. wp-12345abc. |
api_key | Yes | Server-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/jsonIdentity signals
Sent on every event, from the global block of the blueprint:
| Signal | Source | Treatment |
|---|---|---|
properties.email or traits.email | Normalised, SHA-256 hashed | |
| External ID | user_id | Sent as-is |
| Client IP | context.ip | Forwarded as X-Forwarded-For |
| User agent | context.user_agent | Forwarded as User-Agent |
Event mapping
The default preset maps five Signal events onto WP’s conversion vocabulary:
| Signal event | WP event | Key fields |
|---|---|---|
page | page_view | page_url, page_title |
view_item | view_content | content_id, content_name, content_category, value, currency |
add_to_cart | add_to_cart | content_id, value, currency |
generate_lead | lead | form_id, value, currency |
purchase | purchase | order_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
- In the management UI, open the pipeline serving your Polish traffic.
- Add the WP Ads integration and select the Advertising preset.
- Enter the Pixel ID and API Key.
- Review the event mappings against the conversions your WP campaigns optimise towards.
- Save and deploy the pipeline.
Verify it’s working
- Trigger a
purchaseon the site. - In LiveFlow, confirm the event was delivered to WP Ads with a 2xx response.
- 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
- RTB House — the other major Polish-market destination
- Trusted proxies — correct client IP resolution