Wirtualna Polska
This integration is currently in beta. Contact your MetaRouter support team to get started.
What Is Wirtualna Polska?
Wirtualna Polska is a leading Polish digital media and advertising platform that leverages machine learning algorithms to deliver personalized advertising solutions across its extensive network of websites and services. Their platform analyzes user behavior and engagement data at scale to help advertisers reach relevant audiences with precision, enabling highly tailored ad experiences for millions of Polish internet users. A unique advantage of this integration is the ability to activate advertisers' first-party data—including hashed emails and CRM IDs—directly within the platform, significantly enhancing targeting accuracy and overall campaign effectiveness. By connecting businesses with their target audiences across multiple channels and devices, Wirtualna Polska enables advertisers to maximize their ad spend efficiency, drive higher conversions, and achieve measurable marketing results.
Product Type: Advertising
Integration Type: Starter Kit & ID Sync
Event Source Type: Web, Mobile Browser, and Mobile App
Event Scope: Full-Funnel Events
Capabilities
- Sends server-side e-commerce and conversion events to Wirtualna Polska.
- Supports batching for event delivery.
- Supports web, mobile browser, and mobile app event collection.
- Supports syncing key user identifiers required for event tracking.
- Supports hashed email and app metadata when available.
Considerations
- Important: Wirtualna Polska requires the
tracking_consentfield to indicate GDPR consent status. This integration does not include it by default; implementers must ensure this field is mapped and sent based on their consent management implementation. Without it, user data processing may be limited or unavailable. - Valid events depend on all three synced identifiers being available:
user_id,session_id, andstatid. - The
statidsync requires Wirtualna Polska to allow your domain in its CORS settings. - Optionally, a CEEId sync can be implemented to provide an additional encrypted identifier (
ceeid) for improved user matching. - The integration sends IP address data for geo-related use cases. Wirtualna Polska also supports a
geoobject with fields such aslatitude,longitude,accuracy,speed,altitude, andaltitude_accuracy, which are recommended to include when available. - Mobile app support includes app metadata and mobile advertising identifiers where available.
- The API requires a
urlvalue for all events. When a page URL is not available (such as for mobile app events), a fallback value based on the pixel ID is used to ensure the request is accepted. - A
200 OKresponse indicates the request was received, but individual events within the batch may still fail. Wirtualna Polska returns results per event, which should be reviewed to confirm successful processing. - Additional vendor-supported fields may exist outside of this starter kit and may require custom mapping.
Identity Sync
-
Sync Available: Yes
-
Required for Starter Kit: Yes
-
Prerequisites: Wirtualna Polska CORS allowlisting for your domain
-
Documentation: See Additional Wirtualna Polska Sync Documentation
Sync Details
- Collects the identifiers Wirtualna Polska expects for event processing and user matching.
- Attaches
statid,user_id, andsession_idto server-side events. - Supports reuse of existing Wirtualna Polska browser storage values when still valid.
- Without this sync, key events may not be accepted as valid by the integration.
Additional Sync Support
This starter kit supports IDs with additional syncs. Refer to the documentation below for details:
Starter Kit Setup Guide
1. Deploy the Wirtualna Polska Sync
- To collect the sync values (e.g.,
statid,user_id,session_id), you must implement a Wirtualna Polska ID sync. Refer to the following documentation to complete the setup: Wirtualna Polska - ID Sync Guide. - Optionally, you can implement the CEEId sync to capture an additional encrypted identifier (
ceeid) for enhanced user matching and attribution. Refer to the following documentation to complete the setup: CEEId - ID Sync Guide
2. Gather Credentials
- Ask vendor representatives for the following credentials:
CLIENT_IDCLIENT_SECRETPIXEL_ID
3. Add a Wirtualna Polska Integration
- From the integration library, add a Wirtualna Polska integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|---|
CLIENT_ID | Client ID used to request the access token. |
CLIENT_SECRET | Client secret used to request the access token. |
PIXEL_ID | Pixel identifier used in event payloads and fallback app URL formatting. |
4. Configure Event Mapping
- MetaRouter provides all of the event mappings that Wirtualna Polska integrations typically require. You may add custom events, parameters, or mappings in accordance with Wirtualna Polska API requirements. Please ask your WP rep for updated API documentation.
5. Deploy to Pipeline
- In the Pipelines tab, add your Wirtualna Polska integration.
- Select the correct integration revision
- Click Add Integration to finalize deployment.
Event Mappings
Global
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|---|---|
pixel_id Required | String: Pixel identifier for the destination account. | Enrichment – $$PIXEL_ID$$ |
user_id Required | String: Synced user ID used for event validity. | context.providers.wirtualnaPolska.userId |
session_id Required | String: Synced session ID used for event validity. | context.providers.wirtualnaPolska.sessionId |
statid Required | String: Synced Wirtualna Polska browser identifier. | context.providers.wirtualnaPolska.statid |
ceeid | String: Encrypted CEEId identifier for user matching. This ID is optional. | context.providers.ceeId.encrypted.data.value |
provider_user_id | String: MetaRouter anonymous ID for provider-side matching. | anonymousId |
longtermId | String: Customer user ID sent as long-term identifier. | userId |
timestamp | String: Event timestamp. | timestamp |
referer | String: Referring page URL. | context.page.referrer |
os | String: Operating system name. | context.os.name |
timezone | String: User timezone. | context.timezone |
origin_meta.source_ip | String: Source IP address. | context.ip |
origin_meta.user_agent | String: Browser or device user agent. | context.userAgent |
url Required | String: Page URL or required fallback URL for app events. | Expression – uses context.page.url or properties.url; falls back to $$PIXEL_ID$$ .. '.s2s.wp.pl' |
host | String: Hostname parsed from the event URL. | Expression – parses host from context.page.url or properties.url |
email_hash | String: Normalized SHA-256 hash of the user's email. | Expression – hashes traits.email after normalization |
app Required for mobile app traffic | Object: App metadata for mobile app events. | Expression – maps context.app and device platform data |
Event Specific
Product Viewed
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for product view activity. | Enrichment – 'ViewContent' |
currency | String: Currency code for the viewed item. | properties.currency |
contents | Array: Product details for the viewed item. | Expression – maps properties.product_id or properties.sku, name, quantity, price, category, brand |
Product Added
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for add-to-cart activity. | Enrichment – 'AddToCart' |
currency | String: Currency code for the added item. | properties.currency |
contents | Array: Product details for the added item. | Expression – maps properties.product_id or properties.sku, name, quantity, price, category, brand |
Product Removed
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for remove-from-cart activity. | Enrichment – 'RemoveFromCart' |
currency | String: Currency code for the removed item. | properties.currency |
contents | Array: Product details for the removed item. | Expression – maps properties.product_id or properties.sku, name, quantity, price, category, brand |
Cart Viewed
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for cart view activity. | Enrichment – 'ViewCart' |
value | Number: Total cart value across all products. | Expression – totals properties.products |
currency | String: Currency code for the cart. | properties.currency |
contents | Array: Product details for all cart items. | Expression – maps each item in properties.products to product fields |
Checkout Started
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for checkout start activity. | Enrichment – 'StartOrder' |
value | Number: Net order value or derived product total. | Expression – uses properties.revenue or totals properties.products |
value_gross | Number: Gross order value. | properties.value |
shipping_cost | Number: Shipping charge amount. | properties.shipping |
discount_value | Number: Discount amount applied to the order. | properties.discount |
currency | String: Currency code for the order. | properties.currency |
transaction_id | String: Order or transaction identifier. | properties.order_id |
contents | Array: Product details for all checkout items. | Expression – maps each item in properties.products to product fields |
Order Completed
| Output Key | Description | Expected Input |
|---|---|---|
event_type Required | String: Vendor event name for purchase activity. | Enrichment – 'Purchase' |
value | Number: Net purchase value or derived product total. | Expression – uses properties.revenue or totals properties.products |
value_gross | Number: Gross purchase value. | properties.total |
shipping_cost | Number: Shipping charge amount. | properties.shipping |
discount_value | Number: Discount amount applied to the purchase. | properties.discount |
currency | String: Currency code for the purchase. | properties.currency |
transaction_id | String: Order or transaction identifier. | properties.order_id |
discount_code | String: Promo or coupon code used on the order. | properties.coupon |
contents | Array: Product details for all purchased items. | Expression – maps each item in properties.products to product fields |
Required & Recommended Identifiers
These identifiers must be mapped to Wirtualna Polska in order for successful user matching to occur. Without these IDs, any events sent to Wirtualna Polska may not be accurately reflected in reporting.
| Attribute | Example | Sync Injector Required? |
|---|---|---|
user_id Required | 5065210629.1770720426993 | Yes |
session_id Required | 3847291056.1770720426993 | Yes |
statid Required | a3ff56e7298979042e2314761eebc884:7e83d1:1772685915:v3 | Yes |
email_hash Recommended | b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514 | No |
longtermId Recommended | user_12345 | No |
provider_user_id Recommended | 3f9c2a1d-7b4e-4c8a-9f12-6d5e8a3b7c21 | No |
ceeid Recommended | AABIYW4TSKC7SE7R | Yes |
Integration Validation
Validation should include reviewing event-level responses returned by Wirtualna Polska. While the API may return a 200 OK status, individual events within a batch can still fail and must be validated separately. It is recommended to coordinate with your Wirtualna Polska representative to confirm that events are being received and processed correctly on their backend.
Updated about 9 hours ago