By Campaign & Show
Impressions, reach, spend and conversions per campaign and show, by day, week or month.
For the most accurate YouTube Engaged Views and attribution numbers, set
endDateto at least 3 days before today. Numbers in the last 3 days may include estimates and can change once YouTube reports actual data.
This endpoint utilizes a task system.
Please read the description of Get status of file processing to understand how it works.
Show-level reporting access is required. A login whose access is limited to the simple overview or to campaign reporting receives 403 unless it also holds show-level reporting.
const url = 'https://backend.podscribe.ai/api/public/campaign-show-impressions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"formatting":{"numberFormatting":true,"summary":true},"name":"example","advertisers":["example"],"startDate":"example","endDate":"example","fields":["Week","Day","Advertiser","Media Type","Type","Tags","Spend","Publisher","Campaign","Show","Episode","Publish Date","Podcast & Streaming Impressions","YouTube Views","Reach","Visitors","Visits","Leads","Installs","Signups","Purchases","Revenue","Visitors Modeled","Visits Modeled","Leads Modeled","Installs Modeled","Signups Modeled","Purchases Modeled","Revenue Modeled","Promo codes","Clicks","Campaign ID","Campaign Internal ID","Publisher ID","Product","Initiative","Business Line","Rumble Impressions","Spotify Video Impressions","Episode GUID","Campaign & Initiative","Campaign Promo","Campaign Start Date","Campaign Expected Date","Campaign End Date"],"fieldMapping":{"Day":"timestamp","Publish Date":"episode_upload"},"ytSimulcastConv":true,"ytSimulcastConvWeight":1,"rSimulcastConvWeight":0.7,"svSimulcastConvWeight":0.7,"includeYtSpend":false,"attributionWindow":30,"attributionStreamingWindow":14,"attributionModel":"first","attributionPreset":"any","excludeReferrers":["email","facebook","tiktok","instagram","twitter"],"excludeUtmMediums":["email","facebook","fb","tiktok","sms","social","klaviyo","youtube","instagram","ig"],"excludeUtmSources":["email","facebook","fb","tiktok","twitter","klaviyo","youtube","instagram","ig"],"excludePriorCustomers":false,"excludePriorVisitors":false,"spendOnPublishDate":true,"useSettingsProfiles":false,"timeRangeConv":false,"timeRangeConvWithWindow":false,"timeGrouping":"day","showIncrementalResults":false,"incrementalDisplayType":"channel","incCiCertainty":95,"useNonPurchasesRevenue":false,"weekStartsOn":"monday","campaignTags":["example"],"campaignTagsExclude":false,"modelPublicSpaceIps":true,"modelOffline":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}import requests
url = "https://backend.podscribe.ai/api/public/campaign-show-impressions"
payload = { "formatting": { "numberFormatting": True, "summary": True }, "name": "example", "advertisers": ["example"], "startDate": "example", "endDate": "example", "fields": ["Week", "Day", "Advertiser", "Media Type", "Type", "Tags", "Spend", "Publisher", "Campaign", "Show", "Episode", "Publish Date", "Podcast & Streaming Impressions", "YouTube Views", "Reach", "Visitors", "Visits", "Leads", "Installs", "Signups", "Purchases", "Revenue", "Visitors Modeled", "Visits Modeled", "Leads Modeled", "Installs Modeled", "Signups Modeled", "Purchases Modeled", "Revenue Modeled", "Promo codes", "Clicks", "Campaign ID", "Campaign Internal ID", "Publisher ID", "Product", "Initiative", "Business Line", "Rumble Impressions", "Spotify Video Impressions", "Episode GUID", "Campaign & Initiative", "Campaign Promo", "Campaign Start Date", "Campaign Expected Date", "Campaign End Date"], "fieldMapping": { "Day": "timestamp", "Publish Date": "episode_upload" }, "ytSimulcastConv": True, "ytSimulcastConvWeight": 1, "rSimulcastConvWeight": 0.7, "svSimulcastConvWeight": 0.7, "includeYtSpend": False, "attributionWindow": 30, "attributionStreamingWindow": 14, "attributionModel": "first", "attributionPreset": "any", "excludeReferrers": ["email", "facebook", "tiktok", "instagram", "twitter"], "excludeUtmMediums": ["email", "facebook", "fb", "tiktok", "sms", "social", "klaviyo", "youtube", "instagram", "ig"], "excludeUtmSources": ["email", "facebook", "fb", "tiktok", "twitter", "klaviyo", "youtube", "instagram", "ig"], "excludePriorCustomers": False, "excludePriorVisitors": False, "spendOnPublishDate": True, "useSettingsProfiles": False, "timeRangeConv": False, "timeRangeConvWithWindow": False, "timeGrouping": "day", "showIncrementalResults": False, "incrementalDisplayType": "channel", "incCiCertainty": 95, "useNonPurchasesRevenue": False, "weekStartsOn": "monday", "campaignTags": ["example"], "campaignTagsExclude": False, "modelPublicSpaceIps": True, "modelOffline": True}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())curl --request POST \ --url https://backend.podscribe.ai/api/public/campaign-show-impressions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "formatting": { "numberFormatting": true, "summary": true }, "name": "example", "advertisers": [ "example" ], "startDate": "example", "endDate": "example", "fields": [ "Week", "Day", "Advertiser", "Media Type", "Type", "Tags", "Spend", "Publisher", "Campaign", "Show", "Episode", "Publish Date", "Podcast & Streaming Impressions", "YouTube Views", "Reach", "Visitors", "Visits", "Leads", "Installs", "Signups", "Purchases", "Revenue", "Visitors Modeled", "Visits Modeled", "Leads Modeled", "Installs Modeled", "Signups Modeled", "Purchases Modeled", "Revenue Modeled", "Promo codes", "Clicks", "Campaign ID", "Campaign Internal ID", "Publisher ID", "Product", "Initiative", "Business Line", "Rumble Impressions", "Spotify Video Impressions", "Episode GUID", "Campaign & Initiative", "Campaign Promo", "Campaign Start Date", "Campaign Expected Date", "Campaign End Date" ], "fieldMapping": { "Day": "timestamp", "Publish Date": "episode_upload" }, "ytSimulcastConv": true, "ytSimulcastConvWeight": 1, "rSimulcastConvWeight": 0.7, "svSimulcastConvWeight": 0.7, "includeYtSpend": false, "attributionWindow": 30, "attributionStreamingWindow": 14, "attributionModel": "first", "attributionPreset": "any", "excludeReferrers": [ "email", "facebook", "tiktok", "instagram", "twitter" ], "excludeUtmMediums": [ "email", "facebook", "fb", "tiktok", "sms", "social", "klaviyo", "youtube", "instagram", "ig" ], "excludeUtmSources": [ "email", "facebook", "fb", "tiktok", "twitter", "klaviyo", "youtube", "instagram", "ig" ], "excludePriorCustomers": false, "excludePriorVisitors": false, "spendOnPublishDate": true, "useSettingsProfiles": false, "timeRangeConv": false, "timeRangeConvWithWindow": false, "timeGrouping": "day", "showIncrementalResults": false, "incrementalDisplayType": "channel", "incCiCertainty": 95, "useNonPurchasesRevenue": false, "weekStartsOn": "monday", "campaignTags": [ "example" ], "campaignTagsExclude": false, "modelPublicSpaceIps": true, "modelOffline": true }'Request Bodyrequired
Section titled “Request Bodyrequired”Object to setup the formatting of CSV output.
{numberFormatting,summary,totals}
Smart-format as currency, percentage, or comma-separated values for readability.
Include a report summary at the top of the report, featuring the Report Title, Advertiser, and Dates
Total all columns at the bottom of the report. Total reach is calculated for the whole report, not summed from the rows.
Example
{ "numberFormatting": true, "summary": true}Optional display name for the generated report. Shown in the Reports UI. Ignored when an identical cached report is reused; pass a new request (or wait for cache expiry) to apply a new name.
A single-item array containing the advertiser’s name. Please include only one advertiser in this list.
Start date timestamp, e.g., 2023-10-10, default is 3 months ago.
End date timestamp, e.g., 2023-10-10, default is one week forward.
Exact CSV column header names to include, in order. If omitted, all CSV columns not excluded by default for the resolved report configuration are included. Allowed values list all built-in static columns, including incrementality column names selectable when showIncrementalResults is true. Campaign Incremental % columns require campaign-level incrementalDisplayType. Confidence-interval columns and Incrementality Source are not available on this endpoint. Share-of-impressions incrementality columns, incremental Cost Per columns, and Incremental ROAS require timeGrouping=all, which this endpoint does not support. Incrementality columns are controlled by showIncrementalResults and incrementalDisplayType. “Show ID” is excluded by default except for advertisers that previously had it enabled; request it explicitly through fields. Advertiser-specific custom action columns may also be available. “Month” cannot be listed, so a report with timeGrouping=month that sets fields has no date column.
Parameter to customize column headers in the CSV output (keys are default header names).
{}
Example
{ "Day": "timestamp", "Publish Date": "episode_upload"}If checked, the audio conversion rate for simulcast buys will be applied to the YouTube views of the corresponding YouTube ad.
Model Conversions For YouTube weight. When useSettingsProfiles is true, same priority as attributionModel.
Model Conversions For Rumble weight. When useSettingsProfiles is true, same priority as attributionModel.
Model Conversions For Spotify Video weight. When useSettingsProfiles is true, same priority as attributionModel.
If disabled, spend is not calculated for:
- YouTube-only campaigns, and
- Simulcast campaigns with YouTube views only.
Days between converted_at and touched_at.
Days between converted_at and touched_at for streaming.
Attribution model.
Device-graph attribution preset, matching the Device Graph Usage control in the UI.
Omitted: the default preset is resolved per advertiser. Most advertisers default to any; a small number are configured differently.
Referrers to exclude.
If you need to avoid excluding any referrers, please pass the empty array.
UTM mediums to exclude.
If you need to avoid excluding any UTM mediums, please pass the empty array.
UTM sources to exclude.
If you need to avoid excluding any UTM sources, please pass the empty array.
If checked, the results will exclude prior customers.
If checked, the results will exclude prior visitors.
Determines how spend is applied for episodic ad buys.
If enabled, spend is applied on the ad’s publish date.
If disabled, spend is prorated based on impression delivery over the first 30 days of baked-in campaigns.
Enables the use of settings profiles for the request.
When set to true, the request will use the settings profile associated with the selected advertiser.
Any settings from the profile can still be overridden by explicitly provided request parameters.
If checked, the results will only include conversions from impressions in this time range (strict when timeRangeConvWithWindow is omitted or false).
Used with timeRangeConv. If true, only impressions inside the selected report date range are eligible and attributed conversions extend through the configured conversion window after the report end date.
Group impressions by day, week, or month.
If true, incremental columns will be included in the output.
Level at which incrementality is calculated. smart_serve_or_channel and smart_serve_or_campaign use SmartServe incrementality where available, otherwise channel or campaign level.
Confidence interval certainty percent for incrementality confidence-interval columns. Higher certainty produces a wider interval; lower certainty produces a narrower one. Omitted default is 95. Requires showIncrementalResults.
Include revenue from custom events where order_value is non-zero.
The day of the week to start the week.
Filter campaigns by tags (same as UI reporting campaign tags filter).
If true, exclude campaigns matching campaignTags instead of including them.
If false, disable public/public-space IP modeling so results are based on YouTube only. Matches the “Model Public Space IPs” toggle in the advertiser dashboard. If useSettingsProfiles is true and a single advertiser is given, the advertiser’s settings profile can override the default.
If true, include offline modeling. If useSettingsProfiles is true and a single advertiser is given, the advertiser’s settings profile can override the default.
Response Body
Section titled “Response Body”OK
ID of the file processing task.
Task status: pending, done or failed.
Link to download the result file. Returned once the file is ready.
{ "status": "pending"}Result file
Section titled “Result file”| Field | Type | Example | Description |
|---|---|---|---|
| Month | string | 2023-12-01 | The date of the first day of the month in the format YYYY-mm-DD. Only when timeGrouping is month; cannot be requested through fields. |
| Week | string | 2023-12-18 | Date of the week in the format YYYY-mm-DD. Only when timeGrouping is day or week. |
| Day | string | 2023-12-23 | Date of the day in the format YYYY-mm-DD. Only when timeGrouping is day. |
| Advertiser | string | demoAdvertiser | Name of the advertiser for the media content. |
| Media Type | string | podcast | Type of media content, such as “podcast,” “podcast and youtube,” “youtube,” “simulcast,” or “streaming.” |
| Type | string | baked-in | Type of ad integration, either “baked-in” or “dai” (Dynamic Ad Insertion). |
| Tags | string | Retail | Optional tags associated with the campaign. |
| Spend | number | 123 | Amount spent on the advertisement, if applicable. |
| Publisher | string | Some publisher | Name of the publisher or platform hosting the content. |
| Campaign | string | My Campaign | Name of the advertising campaign. |
| Show | string | Some Show | Name of the show associated with the media content. |
| Show ID | number | 123 | Podscribe ID of the show. Excluded by default except for previously enabled advertisers; request via fields. |
| Episode | string | Some Ep | Name or identifier of the specific episode, if applicable. |
| Publish Date | string | 2023-12-18 | Date when the media content was published, in the format YYYY-mm-DD. |
| Podcast & Streaming Impressions | number | 123 | Number of podcast & streaming impressions, if applicable. |
| Delivered Contracted Impressions | number | 123 | DAI impressions within flight dates, capped by expected impressions. Hidden by default; request via fields. |
| YouTube Views | number | 123 | Number of views for YouTube content, if applicable. |
| Reach | number | 123 | Reach represents the total number of unique users who saw the ad. |
| Visitors | number | 123 | Number of visitors to a website, if applicable. |
| Visits | number | 123 | Number of visits to a website, if applicable. |
| Leads | number | 123 | Number of leads generated, if applicable. |
| Installs | number | 123 | Number of app installations, if applicable. |
| Signups | number | 123 | Number of signups or registrations, if applicable. |
| Purchases | number | 123 | Number of purchases made, if applicable. |
| Revenue | number | 123 | Revenue generated, if applicable. |
| Visitors Modeled | number | 123 | Modeled number of visitors based on data analysis, if applicable. |
| Visits Modeled | number | 123 | Modeled number of visits based on data analysis, if applicable. |
| Leads Modeled | number | 123 | Modeled number of leads based on data analysis, if applicable. |
| Installs Modeled | number | 123 | Modeled number of app installations based on data analysis, if applicable. |
| Signups Modeled | number | 123 | Modeled number of signups based on data analysis, if applicable. |
| Purchases Modeled | number | 123 | Modeled number of purchases based on data analysis, if applicable. |
| Revenue Modeled | number | 123 | Modeled revenue based on data analysis, if applicable. |
| Promo codes | number | 123 | Number of times promo codes associated with the ad were used, if applicable. |
| Clicks | number | 123 | How many times link was clicked. |
| Campaign ID | string | some-campaign-id | Identifier for the advertising campaign. |
| Campaign Internal ID | string | mycampaign | The campaign’s identifier in Podscribe. |
| Podscribe Campaign ID | string | 3105cc60-3970-11f1-a827-67ac2fdfebc6 | Unique Podscribe campaign request ID. |
| Publisher ID | string | 123 | Podscribe publisher ID. |
| Product | string | some-product | The product name. |
| Initiative | string | some-initiative | The initiative name. |
| Business Line | string | some-business-line | The business line name. |
| Rumble Impressions | number | 123 | Number of Rumble impressions, if applicable. |
| Spotify Video Impressions | number | 123 | Number of Spotify video impressions, if applicable. |
| Episode GUID | string | episode-guid | Guid of the episode |
| Episode ID | number | 123 | Podscribe ID of the episode, if applicable. |
| Campaign Promo | string | SALE20 | A string value representing a promotional code associated with a campaign |
| Campaign Geo | string | United States | Name of the campaign country |
| Incremental Visitors | number | 123 | Incremental visitors vs holdout. Requires showIncrementalResults. |
| Incremental Visitors Modeled | number | 123 | Modeled incremental visitors. Requires showIncrementalResults. |
| Visitors Campaign Incremental % | number | 0.05 | Campaign-level visitors incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Visitors Channel Incremental % | number | 0.05 | Channel-level visitors incrementality. Requires showIncrementalResults. |
| Incremental Leads | number | 123 | Incremental leads vs holdout. Requires showIncrementalResults. |
| Incremental Leads Modeled | number | 123 | Modeled incremental leads. Requires showIncrementalResults. |
| Leads Campaign Incremental % | number | 0.05 | Campaign-level leads incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Leads Channel Incremental % | number | 0.05 | Channel-level leads incrementality. Requires showIncrementalResults. |
| Incremental Installs | number | 123 | Incremental installs vs holdout. Requires showIncrementalResults. |
| Incremental Installs Modeled | number | 123 | Modeled incremental installs. Requires showIncrementalResults. |
| Installs Campaign Incremental % | number | 0.05 | Campaign-level installs incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Installs Channel Incremental % | number | 0.05 | Channel-level installs incrementality. Requires showIncrementalResults. |
| Incremental Signups | number | 123 | Incremental signups vs holdout. Requires showIncrementalResults. |
| Incremental Signups Modeled | number | 123 | Modeled incremental signups. Requires showIncrementalResults. |
| Signups Campaign Incremental % | number | 0.05 | Campaign-level signups incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Signups Channel Incremental % | number | 0.05 | Channel-level signups incrementality. Requires showIncrementalResults. |
| Incremental Purchases | number | 123 | Incremental purchases vs holdout. Requires showIncrementalResults. |
| Incremental Purchases Modeled | number | 123 | Modeled incremental purchases. Requires showIncrementalResults. |
| Purchases Campaign Incremental % | number | 0.05 | Campaign-level purchases incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Purchases Channel Incremental % | number | 0.05 | Channel-level purchases incrementality. Requires showIncrementalResults. |
| Incremental Visits | number | 123 | Incremental visits vs holdout. Requires showIncrementalResults. |
| Incremental Visits Modeled | number | 123 | Modeled incremental visits. Requires showIncrementalResults. |
| Visits Campaign Incremental % | number | 0.05 | Campaign-level visits incrementality. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Visits Channel Incremental % | number | 0.05 | Channel-level visits incrementality. Requires showIncrementalResults. |
| Incremental Revenue | number | 123 | Incremental revenue vs holdout. Requires showIncrementalResults. |
| Incremental Revenue Modeled | number | 123 | Modeled incremental revenue. Requires showIncrementalResults. |
| Downloads Incremental | number | 123 | Incremental downloads. Smart promo reports only. Requires showIncrementalResults. |
| Downloads Incremental Modeled | number | 123 | Modeled incremental downloads. Smart promo reports only. Requires showIncrementalResults. |
| Downloads Campaign Incremental % | number | 0.05 | Campaign-level downloads incrementality. Smart promo reports only. Requires showIncrementalResults and campaign-level incrementalDisplayType. |
| Downloads Channel Incremental % | number | 0.05 | Channel-level downloads incrementality. Smart promo reports only. Requires showIncrementalResults. |
| Campaign Start Date | string | 2015-03-19 | Campaign start date in the format YYYY-mm-DD |
| Campaign End Date | string | 2015-03-19 | Campaign end date in the format YYYY-mm-DD |
| Campaign Expected Date | string | 2015-03-19 | Campaign expected date in the format YYYY-mm-DD |
| Campaign Spend | number | 5000 | Booked cost of the campaign flight, or Podscribe’s estimate when no rate is set. Blank for flights priced by CPM. Unlike Spend, this is planned rather than delivered. Excluded by default; request via fields. |
| Expected Impressions | number | 250000 | Number of impressions the campaign flight was booked to deliver, as opposed to the delivered impression columns. Excluded by default; request via fields. |
| Adswizz Campaign ID | string | 12345 | Adswizz campaign ID from pixel params (Adswizz platforms: adswizz, streaming_adswizz, adswizz_ron, streaming_adswizz_simple). Only populated when the column is requested and impressions were served via Adswizz. |
| eCPM | number | 12.5 | Estimated cost per thousand impressions. Excluded by default; request via fields. |
| CPM | number | 10 | Cost per thousand impressions. Excluded by default; request via fields. |
| Genre | string | Comedy | Genre of the show. Excluded by default; request via fields. |
| Episode Duration | number | 3600 | Episode duration in seconds. Excluded by default; request via fields. |
| Ad Servers | string | megaphone | Ad servers that served the impressions. Excluded by default; request via fields. |
| Itunes ID | string | 123 | iTunes ID of the show. Hidden by default; request via fields. |
| YouTube Channel / Playlist ID | string | UCxxxx | YouTube channel or playlist ID of the show. Hidden by default; request via fields. |
| Campaign & Initiative | string | Campaign / Initiative | Combined campaign and initiative label. |
| Campaign Unit | string | Mid | Booked campaign unit. Excluded by default; request via fields. |
| Campaign Creatives | string | Creative A | Campaign creative names. Excluded by default; request via fields. |
| Advertiser Industry | string | Retail | Advertiser industry. Excluded by default; request via fields. |
| Offline Purchases | number | 12 | Offline purchase conversions. Excluded by default; request via fields. |
| Online Purchases | number | 80 | Online purchase conversions. Excluded by default; request via fields. |
| Offline Purchases Modeled | number | 12 | Modeled offline purchase conversions. Excluded by default; request via fields. |
| Online Purchases Modeled | number | 80 | Modeled online purchase conversions. Excluded by default; request via fields. |
| Offline Revenue | number | 400 | Offline revenue. Excluded by default; request via fields. |
| Online Revenue | number | 3200 | Online revenue. Excluded by default; request via fields. |
| Offline Revenue Modeled | number | 400 | Modeled offline revenue. Excluded by default; request via fields. |
| Online Revenue Modeled | number | 3200 | Modeled online revenue. Excluded by default; request via fields. |
| Bill To | string | Agency | Billing account. Excluded by default; request via fields. |
| Campaign Delivery Issues | string | WRONG GEO | Campaign delivery issue flags. Excluded by default; request via fields. Not available for limited-overview API keys. |
| Campaign Placement Issues | string | STALE READ | Campaign placement issue flags. Excluded by default; request via fields. Not available for limited-overview API keys. |
| YouTube Engaged Views | number | 123 | Engaged YouTube views when Engaged Views is enabled. Hidden by default; request via fields. |