Lag Report
const url = 'https://backend.podscribe.ai/api/public/reports/lag';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","groupKey":"mediaType","actions":["example"],"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,"useNonPurchasesRevenue":true,"campaignTags":["example"],"campaignTagsExclude":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://backend.podscribe.ai/api/public/reports/lag \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "groupKey": "mediaType", "actions": [ "example" ], "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, "useNonPurchasesRevenue": true, "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 |
|---|---|---|---|
| Action | string | purchase | Target action, one of: purchase/visitor/signup |
| Object ID | string | podcast | ID of the object as resulted by applying the provided groupKey |
| Day 1…N | number | 3.5 | Which share of the total actions occurred on that day. |
Authorizations
Section titled “Authorizations”Request Body
Section titled “Request Body”object
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.
Specifies the field to group the results by.
List of target actions to include in the report. The most popular actions are: - purchase - visitor - signup - install - lead Other actions can be specified as well if they are sent by the advertiser. Empty list means all actions.
Start date ISO date (e.g., “2023-10-10”) or timestamp. Default is 3 months ago.
End date ISO date (e.g., “2023-10-10”) or timestamp. Default is one week forward.
List of advertiser names. Default is all user advertisers.
If true, the audio conversion rate for simulcast buys will be applied to the YouTube views of the corresponding YouTube ad. Default is true.
If true, the audio conversion rate for simulcast buys will be applied to the Rumble views of the corresponding Rumble ad. Default is false.
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.
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.
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.
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.
Days between converted_at and touched_at. Default is 30.
Days between converted_at and touched_at for streaming. Default is 14.
Days between converted_at and touched_at for SAI. Default is 14.
Attribution model. Default is multi_timedecay.
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.
Referrers to exclude. Default: [“email”, “facebook”, “tiktok”, “instagram”, “twitter”].
UTM mediums to exclude. Default: [“email”, “facebook”, “fb”, “tiktok”, “sms”, “social”, “klaviyo”, “youtube”, “instagram”, “ig”].
UTM sources to exclude. Default: [“email”, “facebook”, “fb”, “tiktok”, “twitter”, “klaviyo”, “youtube”, “instagram”, “ig”].
If true, the results will exclude prior customers.
If true, the results will exclude prior visitors.
If true, incremental columns will be included in the output.
If true, incremental columns will be included in the output. Default is channel
If true, 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.
Include revenue from custom events where order_value is non-zero.
Filter campaigns by tags (same as UI reporting campaign tags filter).
If true, exclude campaigns matching campaignTags instead of including them.
Responses
Section titled “Responses”OK
object
Examplegenerated
{ "id": "example", "status": "example", "url": "example"}Invalid data
Unexpected error.
object
Nodejs Error
object
Examplegenerated
{ "message": {}}