[Pilot] ZMS Campaign Daily
Note:
This dataset is currently in a pilot phase and is available exclusively to a selected subset of partners.
Overview
This dataset delivers daily performance insights for Zalando marketing campaigns, dataset is structured at the campaign, country, device level granularity.
By metrics—such as impressions, clicks, budget spent, and sales —partners can monitor how their overall campaigns perform across different platforms (App vs. Web), country.
These insights empower partners to evaluate campaign effectiveness, optimize macro-level campaign budgets, and analyze platform-specific consumer behavior without the granularity of individual SKUs.
| Property | Description |
|---|---|
| Data granularity | campaign_id, campaign_objective, date, country, device |
| History available | Data available from 2024-01-01 |
| Update frequency | Daily |
| Data retention | Past 2 years + current year |
| Primary keys | campaign_id, dt, country, device |
| Partition columns | dt |
| SLOs | Daily around 1:00 PM (for the previous day's data) |
| Notice period for changes | See Versioning and Deprecation Policy |
| Support | Support available via partner-care@zalando.de. No 24/7 support available. |
Data Refresh Strategy
This dataset requires a full load approach rather than incremental updates, meaning partners should overwrite their entire local table each time they retrieve the data.
- Why full load? Historical campaign and attribution data can change retroactively for up to 2 years (for example, due to late-reported sales or financial adjustments).
- Easy to manage: Because the overall dataset size is highly manageable, completely overwriting the data is fast, reliable, and keeps downstream systems simple.
- Tracking refreshes: Partners can reference the created_at timestamp column to verify exactly when the data was last refreshed.
Table Reference
zms_campaign_daily_share.direct_data_sharing.zms_campaign_daily
Schema
| Column name | Format | Description |
|---|---|---|
| account_id | string |
Zalando Account ID (included as partition key for downstream processing). |
| campaign_id | string |
Unique ID of the campaign (n_code). |
| campaign_name | string |
Name of the campaign. |
| merchant_id | string |
Zalando Partner ID (BPID). |
| campaign_objective | string |
Objective of the campaign. One of: Conversion, Consideration, Awareness. |
| start_date | date |
Campaign start date. |
| end_date | date |
Campaign end date. |
| dt | date |
Event record date. |
| country | string |
ISO country code of campaign (e.g. DE, AT). |
| device | string |
Device options of campaigns (e.g. App, Web). |
| viewable_impressions | bigint |
The number of times a user has been exposed to at least 50% of your ad content (25% for big ad format). |
| ad_clicks | bigint |
The number of times a user has clicked on your ads. |
| budget_spent | double |
Your total campaign budget, including discounts, vouchers and free media. |
| partner_spent | double |
The amount you have invested in your campaign, excluding discounts, vouchers and free media. |
| items_sold | bigint |
The number of items sold after users clicked on your ads (before cancellations and returns). |
| attributed_gmv | double |
The value of items sold after users clicked on your ads (before cancellations and returns). |
| ropi | double |
Return On Partner Invest: Calculated as Attributed GMV divided by Partner Invest and excluding any budget spent on TikTok, Pinterest and/or Snapchat. |
| roas | double |
Return On Ad Spend: Calculated as Attributed GMV divided by Budget Spent and excluding any budget spent on TikTok, Pinterest and/or Snapchat. |
| cvr | double |
Conversion Rate: The percentage of clicks on your ads that have led to sales (excluding clicks from TikTok, Pinterest and/or Snapchat). |
| ctr | double |
Click-through Rate: Calculated as Clicks divided by Viewable Impressions. |
| cpc | double |
Cost Per Click: The amount you pay for each click on your ads. |
| created_at | timestamp |
Timestamp in UTC when the data was created. |
| updated_at | timestamp |
Timestamp in UTC when the data was updated. |
Example Measures
Campaign Performance by Country
Calculates clicks, spend, and Conversion Rate (CVR) broken down by country to help optimize targeting country.
SELECT
dt,
campaign_id,
campaign_name,
country,
SUM(viewable_impressions) AS viewable_impressions,
SUM(ad_clicks) AS ad_clicks,
SUM(items_sold) AS items_sold,
CAST(sum(items_sold) / NULLIF(sum(ad_clicks), 0) AS DOUBLE) AS cvr,
CAST(sum(ad_clicks) / NULLIF(sum(viewable_impressions), 0) AS DOUBLE) AS ctr,
CAST(sum(budget_spent) / NULLIF(sum(ad_clicks), 0) AS DOUBLE) AS cpc
FROM zms_campaign_daily_share.direct_data_sharing.zms_campaign_daily
GROUP BY 1, 2, 3, 4
Overall ROAS and ROPI by Country
Evaluates financial performance and return across different country to guide strategic budget allocations.
SELECT
campaign_id,
campaign_name,
country,
start_date,
end_date,
SUM(budget_spent) AS budget_spent,
SUM(attributed_gmv) AS attributed_gmv,
CAST(sum(attributed_gmv) / NULLIF(sum(partner_spent), 0) AS DOUBLE) AS ropi,
CAST(sum(attributed_gmv) / NULLIF(sum(budget_spent), 0) AS DOUBLE) AS roas
FROM zms_campaign_daily_share.direct_data_sharing.zms_campaign_daily
GROUP BY 1, 2, 3, 4, 5
ORDER BY 1, 2, 3, 4, 5