Managing Export Schedules & Manifests
Once you have a pipeline and a destination, you need to define what data to export (Manifest) and when to export it (Schedule). This article covers both.
Manifests: Defining What to Export
A manifest contains one or more extracts. Each extract defines a specific slice of data and is delivered as its own file.
Extract Fields
Field | Required | Description |
Extract ID | Yes | A unique identifier for this extract (letters, numbers, underscores, dashes, and spaces, but not starting or ending with a space). Used in file paths. |
Metrics | At least one metric or dimension | The metrics to include (e.g., Impressions, Clicks, Spend) |
Dimensions | At least one metric or dimension | The dimensions to group by (e.g., Campaign, Ad Group) |
Filters | No | Optional filters to restrict the exported data |
The available metrics and dimensions are determined by the pipeline's data sources, and include your custom metrics and custom dimensions. Your Clarisights team can share the full list for your pipeline. Dimensions are referred to by their name as shown in Clarisights (e.g., Campaign), and metrics by their metric key (e.g., fb_spend).
Time dimensions (Date, Day of Month, Day of Week, Week, Week Number, Week of Year, Month, Month of the Year, Quarter, Year) are available in every pipeline, whatever its data sources. Add them to an extract's dimensions to get a row per day, week, month, and so on. Weeks follow your company's start-of-week preference. Time dimensions cannot be used in filters.
Filters
Filters use an OR-of-AND structure: groups of conditions joined by AND, with groups joined by OR. Each condition names a dimension, an operator, and a value.
Available operators:
Operator | Value Type | Description |
| Array of strings | Matches any of the specified values |
| Array of strings | Excludes the specified values |
| String | Contains substring (case-sensitive) |
| String | Contains substring (case-insensitive) |
| String | Does not contain substring |
| String | Does not contain substring (case-insensitive) |
| String | Starts with prefix (case-sensitive) |
| String | Starts with prefix (case-insensitive) |
| String | Matches a regular expression (case-insensitive) |
| String | Does not match a regular expression (case-insensitive) |
Example: Export only campaigns whose name contains "Brand", or contains "Search" but not "Test":
filters: [ [ { "dimension": "Campaign", "operator": "$i_contains", "value": "Brand" } ], [ { "dimension": "Campaign", "operator": "$i_contains", "value": "Search" }, { "dimension": "Campaign", "operator": "$i_not_contains", "value": "Test" } ] ]
To limit an export to certain channels, choose those channels as the pipeline's data sources instead of filtering.
Manifest Versioning
Manifests are immutable after creation: you cannot edit an existing manifest's extracts
To change what's exported, create a new manifest. It gets the next version number.
The old manifest enters a 30-day grace period. During this period, every scheduled run exports both versions, each into its own
v{manifest_version}folder, so downstream consumers have time to adaptAn old manifest can also be retired before the 30 days are over if you no longer need it
Schedules: Defining When to Export
A schedule links a pipeline to a destination and defines the timing. Each run exports every extract of the pipeline's current manifest (and of an older manifest still in its grace period).
Schedule Fields
Field | Required | Description |
Cron Expression | Yes | Standard 5-field cron (e.g., |
Duration | Yes | The date range to export (preset or explicit dates) |
Destination | Yes | Which destination to upload to |
Timezone | No | IANA timezone (e.g., |
Compression | No |
|
File Name Template | No | The path and file name of each file within the destination (see below) |
A pipeline can have several schedules, for example one per destination. Two schedules of the same pipeline cannot use the same destination and the same cron expression.
File Name Template
The default template is:
{pipeline_name}/v{manifest_version}/{extract_id}/{epoch_time}_{export_start_date}_{export_end_date}
The destination's path prefix is added in front, and .csv (plus .gz when compressed) or .meta.json is added at the end. You can use these placeholders:
Placeholder | Replaced with |
| The pipeline's name |
| The manifest version number |
| The extract ID |
| The first and last date of the exported data (YYYY-MM-DD) |
| The date of the run in the schedule's timezone (YYYY-MM-DD) |
| The start time of the run as a Unix timestamp |
Keep {extract_id} and {manifest_version} in the template so that files from different extracts and versions do not overwrite each other.
Duration Presets
Preset | Description |
| Current day (in the schedule's timezone) |
| Previous day |
| Last N days, excluding today (e.g., |
| Today plus N-1 previous days (e.g., |
| A moving range. Each end is a day offset from today or a fixed date, both included (e.g., |
You can also use explicit dates: {"start_date": "2026-04-01", "end_date": "2026-04-17"}
Cron Examples
Times are in the schedule's timezone.
Expression | Meaning |
| Every day at 12:00 PM |
| Twice daily at midnight and noon |
| Every Monday at 8:00 AM |
| First day of every month at 6:00 AM |
Exporting Historical Data
To load past data into your warehouse (for example when you start using a pipeline), add a schedule whose duration uses explicit dates or a moving range from a fixed date, such as 2026-01-01:-1d. Once the first run has delivered the files, pause or delete that schedule so the same history is not exported again. Large date ranges produce large files, so consider splitting a long history into several ranges.
Pausing & Resuming
Both pipelines and individual schedules can be independently paused:
Pausing a pipeline stops all its schedules from firing
Pausing a schedule stops only that schedule, even if the pipeline is active
Resume either by setting status back to active
Deleting Pipelines & Schedules
Deletion is soft: the resource is marked as deleted but retained for 30 days
After 30 days, it is permanently removed along with associated export runs
Deleted resources do not appear in list views
Monitoring Export Runs
Each schedule execution creates an Export Run with:
Status:
running,succeeded, orfailedStats: File links, file sizes, and the date range for each extract
Error message: If the run failed, the error is captured for debugging
Export runs are kept for 30 days. If a file you expected is missing from your bucket, contact us and we will check the run for you.
In case of any queries, feel free to reach out to us from the messenger support on the platform.