Lag
Attributed actions per day after the impression, for each action and groupKey value.
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/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":["example"],"ytSimulcastConv":true,"rSimulcastConv":true,"svSimulcastConv":true,"includeYtSpend":false,"spendOnPublishDate":true,"useSettingsProfiles":false,"attributionWindow":30,"attributionStreamingWindow":14,"attributionSaiWindow":30,"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,"showIncrementalResults":false,"incrementalDisplayType":"channel","timeRangeConv":false,"timeRangeConvWithWindow":false,"useNonPurchasesRevenue":false,"campaignTags":["example"],"campaignTagsExclude":false}'};
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/reports/lag"
payload = { "name": "example", "groupKey": "mediaType", "actions": ["example"], "startDate": "2026-04-15", "endDate": "2026-04-15", "advertiser": ["example"], "ytSimulcastConv": True, "rSimulcastConv": True, "svSimulcastConv": True, "includeYtSpend": False, "spendOnPublishDate": True, "useSettingsProfiles": False, "attributionWindow": 30, "attributionStreamingWindow": 14, "attributionSaiWindow": 30, "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, "showIncrementalResults": False, "incrementalDisplayType": "channel", "timeRangeConv": False, "timeRangeConvWithWindow": False, "useNonPurchasesRevenue": False, "campaignTags": ["example"], "campaignTagsExclude": False}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/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": [ "example" ], "ytSimulcastConv": true, "rSimulcastConv": true, "svSimulcastConv": true, "includeYtSpend": false, "spendOnPublishDate": true, "useSettingsProfiles": false, "attributionWindow": 30, "attributionStreamingWindow": 14, "attributionSaiWindow": 30, "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, "showIncrementalResults": false, "incrementalDisplayType": "channel", "timeRangeConv": false, "timeRangeConvWithWindow": false, "useNonPurchasesRevenue": false, "campaignTags": [ "example" ], "campaignTagsExclude": false }'Request Body
Section titled “Request Body”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. Must contain exactly one advertiser.
Ignored by this report.
Ignored by this report.
Ignored by this report.
If false, spend is not calculated for:
- YouTube-only campaigns
- Simulcast campaigns with YouTube views only
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.
Days between converted_at and touched_at.
Days between converted_at and touched_at for streaming.
Days between converted_at and touched_at for SAI.
Attribution model.
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.
Referrers to exclude.
UTM mediums to exclude.
UTM sources to exclude.
If true, the results will exclude prior customers.
If true, the results will exclude prior visitors.
If true, the Day columns will show incremental actions.
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.
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.
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 |
|---|---|---|---|
| Action | string | purchase | Target action, such as purchase/visitor/signup |
| Object ID | string | podcast | ID of the object as resulted by applying the provided groupKey |
| Day 1…N | number | 3.5 | How many of the total actions had a lag in the N-th 24-hour period after the impression (Day 1 = 0-24 h, Day 2 = 24-48 h). A window of W days has W + 1 day columns. |