Campaigns Performance
Note: An organization-scoped API key includes only flights for that key’s advertiser and publisher. Attribution the publisher cannot see stays hidden.
Delivery status, impressions, conversions and costs for each campaign in the campaign tracking sheet.
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.
const url = 'https://backend.podscribe.ai/api/public/campaigns-performance';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","startDate":"2023-10-10","endDate":"2023-10-10","externalIds":["example"]}'};
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/campaigns-performance"
payload = { "name": "example", "startDate": "2023-10-10", "endDate": "2023-10-10", "externalIds": ["example"]}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/campaigns-performance \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "startDate": "2023-10-10", "endDate": "2023-10-10", "externalIds": [ "example" ] }'Request Bodyrequired
Section titled “Request Bodyrequired”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.
Start date timestamp, default is 3 months ago.
Example
2023-10-10End date timestamp, default is one week forward.
Example
2023-10-10External IDs of the campaigns to report on, as in the Campaign Id column. When set, startDate and endDate are ignored.
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 |
|---|---|---|---|
| Advertiser | string | Coca-Cola | Name of the advertising company |
| Publisher | string | Spotify | Name of the publishing platform |
| Campaign | string | Summer Promo | Name of the advertising campaign |
| Podcast | string | Tech Talk | Name of the podcast |
| Tags | string | Tech, Sports | Tags associated with the campaign |
| Geo | string | US, UK | Geographical location targeted by the campaign |
| Start date | string | 4/8/2024 | Start date of the campaign |
| End date | string | 4/15/2024 | End date of the campaign |
| Expected | string | 4/8/2024 | Expected air date of the campaign |
| Category | string | Baked-in | Category of the campaign |
| Unit | string | Mid | Type of advertising unit |
| Expected Impressions | number | 250000 | Expected number of impressions |
| Spend | number | 5882 | Amount spent on the campaign |
| CPM | string | 631 $ | Cost per mille (thousand) impressions |
| Ads | number | 12 | Number of ads found |
| Status | string | WRONG GEO, STALE READ | Column indicating the status and error flags. |
| Impressions Source | string | Prefix | Source used for impression counts |
| Impressions | number | 126301 | Number of impressions |
| Podcast Downloads | number | 115752 | Number of podcast impressions |
| YouTube Views | number | 10549 | Number of YouTube views |
| Rumble Views | number | 9000 | Rumble view impressions |
| 7d Impressions | number | 10000 | Impressions counted within 7 days |
| 15d Impressions | number | 20000 | Impressions counted within 15 days |
| 30d Impressions | number | 30000 | Impressions counted within 30 days |
| 45d Impressions | number | 40000 | Impressions counted within 45 days |
| 60d Impressions | number | 50000 | Impressions counted within 60 days |
| Reach | number | 112322 | Reach of the campaign |
| Freq. | number | 1.0 | Frequency of the campaign |
| Clicks | number | 321 | Number of clicks |
| Clicks % | number | 0.003 | Click rate |
| Cost Per Click | number | 18.32 | Spend divided by clicks |
| Visitors | number | 112.94 | Number of visitors reached |
| Visitor % | number | 0.083 % | Percentage of visitors reached |
| Cost Per Visitor | number | 52.08 | Spend divided by visitors |
| Visits | number | 588 | Number of visits |
| Visit % | number | 0.000 % | Percentage of visits |
| Cost Per Visit | number | 10.0 | Spend divided by visits |
| Installs | number | 0.16 | Number of app installs |
| Install % | number | 0.001 | Install rate |
| Cost Per Install | number | 367.63 | Spend divided by installs |
| Signups | number | 3.8 | Number of signups |
| Signup % | number | 0.003 | Signup rate |
| Cost Per Signup | number | 154.79 | Spend divided by signups |
| Leads | number | 4.2 | Number of leads generated |
| Lead % | number | 0.003 | Lead rate |
| Cost Per Lead | number | 140.05 | Spend divided by leads |
| Convs. | number | 2.3 | Number of conversions |
| Conv. % | number | 0.002 % | Conversion rate |
| Cost Per Conversion | number | 255.74 | Spend divided by conversions |
| Revenue | number | 152 | Revenue generated |
| ROAS | number | 0.02 | Return on advertising spend |
| CPA | number | 3076 | Cost per acquisition |
| Computed CPA | number | 1667 | Computed cost per acquisition |
| Filtered Resolved Status | string | Flags reflecting the status of campaign issues, with user-defined filtering. | |
| Resolved Status | string | Flags indicating the status of campaign issues. | |
| Prefix placed | bool | true | Prefix placed |
| DAI Impression Pixel | string | https://verifi.podscribe.com/… | Link provided to the ad server for data callback configuration. |
| Comments | string | Some user comments | Additional comments |
| Ad Server | string | megaphone | Ad server used |
| SmartPromo Downloads | string | 123 | Number of downloads |
| Cost Per SmartPromo Download | number | 47.82 | Spend divided by downloads |
| New Converted Devices | string | 123 | Number of new converted devices |
| New Converted Device % | number | 0.004 | New converted device rate |
| Cost Per New Converted Device | number | 47.82 | Spend divided by new converted devices |
| New Device SmartPromo Downloads | string | 123 | Number of new device downloads |
| Cost Per New Device SmartPromo Download | number | 47.82 | Spend divided by new device downloads |
| New Subscriber Downloads | number | 123 | Number of new subscriber downloads |
| New Subscribers | string | 123 | Number of new subscribers |
| New Subscribers % | number | 0.004 | New subscriber rate |
| Cost Per New Subscriber | number | 47.82 | Spend divided by new subscribers |
| % of impressions to listeners with frequency 15+ | string | 28.8 | Percentage of impressions to listeners with frequency 15+ |
| % of listeners with frequency 15+ | string | 28.5 | Percentage of listeners with frequency 15+ |
| Expected Impressions | number | 250000 | Expected number of impressions |
| Campaign Id | string | some campaign id | Identifier for the campaign |
| Synced At | string | 4/3/2024, 2:47 AM | Date and time when data was synced |
| Air Date | string | 2024-04-08 04:08:04.799000+00:00 | The date when the advertising campaign was first aired or broadcasted. |
| Initiative | string | Spring Campaign | Campaign initiative |
| Product | string | Premium Plan | Campaign product |
| Business Line | string | Direct | Campaign business line |
| DAI Impression Pixel by Creative | string | https://verifi.podscribe.com/… | DAI impression pixel URL for the first creative |
| Bill To | string | Agency Name | Billing account name |
| Bill to Publisher | string | Publisher Name | Publisher billing name |
| Media Type | string | podcast | Media type from the campaign tracking sheet |
| Extra DAI Impression Pixel by Creative N | string | https://verifi.podscribe.com/… | Additional creative pixel columns can be included when a campaign has more creatives |
| Promo | string | SUMMER20 | Campaign promo code, if configured. |
| Vanity URL | string | https://example.com/promo | Vanity URL configured for the campaign, if provided. |
| Expected landing URL | string | https://example.com/landing | Expected landing URL after redirect, if provided. |
| UTM Source | string | spotify | UTM source configured for campaign tracking, if provided. |
| UTM Medium | string | podcast | UTM medium configured for campaign tracking, if provided. |
| Spotify Video Streams | number | 0 | Spotify Video Streams count |
| Found Ads | string | JSON |
JSON array of found ads. Includes adId, episodeId, episodeTitle, showTitle, publishedAt, adDuration, startTs, endTs, platform, episodeDuration, episodeUrlInFeed, placementNum, placementPercent, publicLink, transcriptLink, episodeGuid, episodeLength, adTimestamp, adLength, unit, readBy, readScore, transcriptUrl, audioFileUrl (direct HTTPS link to the ad-clip audio file, not the full episode; download it with a plain GET such as curl -O, with no API key, Authorization header or Podscribe login; the API key is needed only to call this endpoint; null when no clip is stored), status (comma-separated placement flags such as BAD PROMO; COMPETITOR may include the competitor name, /-separated products, and where it was found, with ; between competitors and a pipe between where-found groups; DO NOT SAY may include semicolon-separated phrases), and promo (found promo/URL). publicLink is playback; transcriptLink/transcriptUrl open the ad in the transcript. |
| Radio Impressions | number | 5000 | Number of radio impressions, if applicable. |
| SmartServe Ad Server | string | smartserve | SmartServe ad server platform, if applicable. |
| SmartServe Creative | string | Creative A | SmartServe creative name(s), comma-separated. |
| SmartServe Creative Source URL | string | https://example.com/creative.mp4 | SmartServe creative source URL(s), comma-separated. |
| SmartServe Targeting Profile | string | Profile A | SmartServe targeting profile name. |
| SmartServe Banner Name | string | banner.png | SmartServe banner file name(s), comma-separated. |
| SmartServe Banner Source URL | string | https://example.com/banner.png | SmartServe banner source URL(s), semicolon-separated. |
| SmartServe Clickthrough URL | string | https://example.com | SmartServe campaign-level clickthrough URL. |
| SmartServe Campaign Settings (JSON) | string | JSON |
JSON object of SmartServe campaign settings. |
| SmartServe Targeting Profile Settings (JSON) | string | JSON |
JSON object of SmartServe targeting profile settings. |
| SmartServe VAST URL | string | https://example.com/vast.xml | SmartServe VAST URL. |
| YouTube Engaged Views | number | 123 | Engaged YouTube views when Engaged Views is enabled. |