Skip to content

By Creative

POST
/api/public/reports/creative
curl --request POST \
--url https://backend.podscribe.ai/api/public/reports/creative \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "formatting": { "numberFormatting": true, "summary": true }, "name": "example", "fields": [ "Advertiser", "Creative ID", "Creative Name", "Media Type", "Type", "Tags", "Spend", "Publisher", "Campaign", "Show", "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", "Clicks", "Campaign ID", "Campaign Internal ID", "Podscribe Campaign ID", "Publisher ID", "Product", "Initiative", "Business Line", "Rumble Impressions", "Spotify Video Impressions", "Campaign & Initiative", "Campaign Promo", "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", "Campaign Start Date", "Campaign Expected Date", "Campaign End Date", "Week", "Day", "Month" ], "fieldMapping": { "Day": "timestamp", "Publish Date": "episode_upload" }, "startDate": "2026-04-15", "endDate": "2026-04-15", "advertiser": [], "ytSimulcastConv": true, "rSimulcastConv": true, "svSimulcastConv": true, "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", "useNonPurchasesRevenue": true, "weekStartsOn": "monday", "campaignTags": [ "example" ], "campaignTagsExclude": false }'

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.
Creative ID string 1345805 ID of the creative.
Creative Name string My Creative Human readable name of the creative.
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.
SmartServe Targeting Profile string My Profile Name of the SmartServe targeting profile. Excluded by default; add “SmartServe Targeting Profile” to fields to include. Only populated for campaigns served via SmartServe.
Show string Some Show Name of the show associated with the media content.
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.
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.
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.
Campaign Promo string SALE20 A string value representing a promotional code associated with a campaign
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
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
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
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. Incrementality columns are controlled by showIncrementalResults and incrementalDisplayType. Advertiser-specific custom action columns may also be available. ROAS, AOV, and Cost Per columns are available only when timeGrouping is “all”. Time bucket columns reflect timeGrouping: “day” includes “Day”, “week” includes “Week”, “month” includes “Month”, and “all” omits time bucket columns. This report type does not include Episode, Publish Date, Campaign Geo, Campaign Delivery Issues, Campaign Placement Issues, Episode ID, or Episode GUID columns. Live Date is excluded by default; add “Live Date” here to include it.

Array<string>
default: Advertiser,Creative ID,Creative Name,Media Type,Type,Tags,Spend,Publisher,Campaign,Show,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,Clicks,Campaign ID,Campaign Internal ID,Podscribe Campaign ID,Publisher ID,Product,Initiative,Business Line,Rumble Impressions,Spotify Video Impressions,Campaign & Initiative,Campaign Promo,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,Campaign Start Date,Campaign Expected Date,Campaign End Date,Week,Day,Month
Allowed values: Advertiser Creative ID Creative Name Media Type Type Tags Spend eCPM CPM Publisher Campaign SmartServe Targeting Profile Live Date Show Genre Podcast & Streaming Impressions YouTube Views Reach Frequency Visitors Visitors % Visits Visits % Leads Leads % Installs Installs % Signups Signups % Purchases Purchases % Revenue Visitors Modeled Visitors Modeled % Visits Modeled Visits Modeled % Leads Modeled Leads Modeled % Installs Modeled Installs Modeled % Signups Modeled Signups Modeled % Purchases Modeled Purchases Modeled % Revenue Modeled 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 Campaign & Initiative Campaign Promo Campaign Unit Campaign Creatives 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 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 Week Day Month Adswizz Campaign ID
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"
}
startDate

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

string format: date
endDate

End date ISO date (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
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 from the first entry in advertisers. 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 will be included in the output.

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
useNonPurchasesRevenue

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

boolean
weekStartsOn

The day of the week to start the week. Default is user settings, when not set - “sunday”.

string
Allowed values: monday sunday
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

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": {}
}