Skip to content

By Campaign & Day/Week

POST
/api/public/impressions
curl --request POST \
--url https://backend.podscribe.ai/api/public/impressions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "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", "Podscribe Campaign 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" }, "formatting": { "numberFormatting": true, "summary": true }, "name": "example", "startDate": "2026-04-15", "endDate": "2026-04-15", "advertiser": [], "ytSimulcastConv": true, "rSimulcastConv": true, "svSimulcastConv": true, "ytSimulcastConvWeight": 1, "rSimulcastConvWeight": 1, "svSimulcastConvWeight": 1, "includeYtSpend": true, "spendOnPublishDate": true, "useSettingsProfiles": false, "attributionWindow": 1, "attributionStreamingWindow": 1, "attributionSaiWindow": 1, "attributionModel": "first", "attributionPreset": "any", "excludeReferrers": [ "example" ], "excludeUtmMediums": [ "example" ], "excludeUtmSources": [ "example" ], "excludePriorCustomers": false, "excludePriorVisitors": false, "showIncrementalResults": true, "incrementalDisplayType": "channel", "timeRangeConv": false, "timeRangeConvWithWindow": false, "timeGrouping": "all", "geoGrouping": "country", "useNonPurchasesRevenue": true, "weekStartsOn": "monday", "aggregateEpisodicBuysPerShow": false, "campaignTags": [ "example" ], "campaignTagsExclude": false, "modelPublicSpaceIps": true, "modelOffline": true }'

This endpoint utilizes a task system.

Please read the description of Get status of file processing to understand how it works.

Result file format:

Field Type Example Description
Week string 2023-12-18 Date of the week in the format YYYY-mm-DD.
Day string 2023-12-23 Date of the day in the format YYYY-mm-DD.
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.
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.
<custom_action> number 123 Count of an advertiser-defined custom event. Header is the action name (e.g. “order_complete”). Also included when geoGrouping is set. Mapped actions are excluded by default unless listed in fields.
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.
<custom_action> Modeled number 123 Modeled count of the custom event. Header is “ Modeled” (e.g. “order_complete Modeled”). Also included when geoGrouping is set.
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 Podscribe campaign lookup_name.
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
Incrementality Source string Synthetic - Channel Provenance of the row’s incrementality values. Possible values: “SmartServe”, “SmartServe (PSA)”, “SmartServe (Holdout)”, “Synthetic - Campaign”, or “Synthetic - Channel”. Excluded by default; explicitly add this field and enable showIncrementalResults. Not available with geoGrouping.
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.
Expected Impressions number 250000 Number of impressions the campaign flight was booked to deliver, as opposed to the delivered impression columns.
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.
Media typeapplication/json
object
fields

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 non-incrementality columns plus the opt-in “Incrementality Source” column. 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. “Incrementality Source” is excluded by default, must be explicitly requested, and is not available when geoGrouping is provided. Advertiser-specific custom action columns (<custom_action> and <custom_action> Modeled) may also be available, including when geoGrouping is set. Mapped custom actions are excluded by default unless listed here. Custom-action incrementality columns follow showIncrementalResults and incrementalDisplayType. “Geo” is available when geoGrouping is provided. “Country” is available when geoGrouping is provided. “DMA Code” is available when geoGrouping is "DMA".

Array<string>
default: 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,Podscribe Campaign 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
Allowed values: Visitors Visitors % Visits Visits % Leads Leads % Installs Installs % Signups Signups % Purchases Purchases % Downloads New Downloads New Subscriber Downloads New Subscribers Converted Devices New Conversions Visitors Modeled Visitors Modeled % Visits Modeled Visits Modeled % Leads Modeled Leads Modeled % Installs Modeled Installs Modeled % Signups Modeled Signups Modeled % Purchases Modeled Purchases Modeled % Downloads Modeled New Downloads Modeled New Subscriber Downloads Modeled New Subscribers Modeled Converted Devices Modeled New Conversions Modeled ROAS ROAS Modeled AOV AOV Modeled Cost Per Visitor Cost Per Visitor Modeled Cost Per Lead Cost Per Lead Modeled Cost Per Install Cost Per Install Modeled Cost Per Signup Cost Per Signup Modeled Cost Per Purchase Cost Per Purchase Modeled Week Day Month Advertiser Media Type Type Tags Spend eCPM CPM CPA Publisher Campaign Show Show ID Genre Episode Episode Duration Ad Servers Adswizz Campaign ID Episode ID Publish Date Podcast & Streaming Impressions YouTube Views Reach Frequency Revenue Revenue Modeled Promo codes Clicks Campaign ID Itunes ID YouTube Channel / Playlist ID Campaign Internal ID Podscribe Campaign ID Publisher ID Product Initiative Business Line Rumble Impressions Spotify Video Impressions Episode GUID Campaign & Initiative Campaign Geo Incrementality Source Campaign Promo Campaign Unit Campaign Spend Expected Impressions Campaign Creatives Campaign Start Date Campaign Expected Date Campaign End Date Advertiser Industry Offline Purchases Online Purchases Offline Purchases Modeled Online Purchases Modeled Offline Revenue Online Revenue Offline Revenue Modeled Online Revenue Modeled Bill To Campaign Delivery Issues Campaign Placement Issues Geo Country DMA Code
fieldMapping

Object to customize column headers in the CSV output (keys are default header names).

object
key
additional properties
string
Example
{
"Day": "timestamp",
"Publish Date": "episode_upload"
}
formatting

Object to setup the formatting of CSV output.

object
numberFormatting

Smart-format as currency, percentage, or comma-separated values for readability.

boolean
summary

Include a report summary at the top of the report, featuring the Report Title, Advertiser, Publisher, and Dates

boolean
totals

Total all columns at the bottom of the report. Total reach will be queried separately.

boolean
Example
{
"numberFormatting": true,
"summary": true
}
name

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.

string
<= 255 characters
startDate

Start date timestamp (e.g., “2023-10-10”). Default is 3 months ago.

string format: date
endDate

End date timestamp (e.g., “2023-10-10”). Default is one week forward.

string format: date
advertiser

List of advertiser names. Default is all user advertisers.

Array<string>
default:
ytSimulcastConv

If true, the audio conversion rate for simulcast buys will be applied to the YouTube views of the corresponding YouTube ad. Default is true.

boolean
rSimulcastConv

If true, the audio conversion rate for simulcast buys will be applied to the Rumble views of the corresponding Rumble ad. Default is false.

boolean
svSimulcastConv

If true, the audio conversion rate for simulcast buys will be applied to the Spotify video views of the corresponding Spotify video ad. Default is false.

boolean
ytSimulcastConvWeight

Model Conversions For YouTube weight. Default is 1. When useSettingsProfiles is true, can be overridden by the advertiser’s settings profile.

number
rSimulcastConvWeight

Model Conversions For Rumble weight. Default is 1. When useSettingsProfiles is true, can be overridden by the advertiser’s settings profile.

number
svSimulcastConvWeight

Model Conversions For Spotify Video weight. Default is 1. When useSettingsProfiles is true, can be overridden by the advertiser’s settings profile.

number
includeYtSpend

If false (default), spend is not calculated for:

  • YouTube-only campaigns
  • Simulcast campaigns with YouTube views only

We cannot model YouTube performance without RSS impressions.

boolean
spendOnPublishDate

Determines how spend is applied for episodic ad buys.
If enabled (default), 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.

boolean
default: true
useSettingsProfiles

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.

boolean
attributionWindow

Days between converted_at and touched_at. Default is 30.

number
attributionStreamingWindow

Days between converted_at and touched_at for streaming. Default is 14.

number
attributionSaiWindow

Days between converted_at and touched_at for SAI. Default is 14.

number
attributionModel

Attribution model. Default is multi_timedecay.

string
Allowed values: first last multi_linear multi_timedecay
attributionPreset

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. Expands into the internal device-graph filters, including any advertiser-specific model version.

string
default: any
Allowed values: any all none
excludeReferrers

Referrers to exclude. Default: [“email”, “facebook”, “tiktok”, “instagram”, “twitter”].

Array<string>
excludeUtmMediums

UTM mediums to exclude. Default: [“email”, “facebook”, “fb”, “tiktok”, “sms”, “social”, “klaviyo”, “youtube”, “instagram”, “ig”].

Array<string>
excludeUtmSources

UTM sources to exclude. Default: [“email”, “facebook”, “fb”, “tiktok”, “twitter”, “klaviyo”, “youtube”, “instagram”, “ig”].

Array<string>
excludePriorCustomers

If true, the results will exclude prior customers.

boolean
excludePriorVisitors

If true, the results will exclude prior visitors.

boolean
showIncrementalResults

If true, incremental columns are available in the output. “Incrementality Source” remains excluded by default and must be explicitly requested through fields.

boolean
incrementalDisplayType

If true, incremental columns will be included in the output. Default is channel

string
Allowed values: channel campaign
timeRangeConv

If true, the results will only include conversions from impressions in this time range (strict when timeRangeConvWithWindow is omitted or false).

boolean
timeRangeConvWithWindow

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.

boolean
timeGrouping

Group impressions by day, week, month or without grouping if “all” is passed. Default is day.

string
Allowed values: all day week month
geoGrouping

Group impressions by geo. Options: “country”, “zip”, “region”, “DMA”. Default is null. Note: When “geoGrouping” is used, YouTube modeling will be disabled because YouTube views cannot be attributed to a specific location. “Incrementality Source” is not available for geo-grouped reports.

string
Allowed values: country zip region DMA
useNonPurchasesRevenue

Include revenue from custom events where order_value is non-zero.

boolean
weekStartsOn

The day of the week to start the week. Defaults to the user’s settings; if not set, defaults to ‘Sunday’.

string
Allowed values: monday sunday
aggregateEpisodicBuysPerShow

If true, aggregate episodic buy rows per show (one row per show instead of per episode). Default is false.

boolean
campaignTags

Filter campaigns by tags (same as UI reporting campaign tags filter).

Array<string>
campaignTagsExclude

If true, exclude campaigns matching campaignTags instead of including them.

boolean
modelPublicSpaceIps

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 omitted, defaults to enabled; if useSettingsProfiles is true and a single advertiser is given, the advertiser’s settings profile can still override this default.

boolean
modelOffline

If true, include offline modeling. If omitted, defaults to enabled; if useSettingsProfiles is true and a single advertiser is given, the advertiser’s settings profile can still override this default.

boolean
default: true

OK

Media typeapplication/json
object
id
string
status
string
url
string
Examplegenerated
{
"id": "example",
"status": "example",
"url": "example"
}

Invalid data

Unexpected error.

Media typeapplication/json
object
message

Nodejs Error

object
Examplegenerated
{
"message": {}
}