Skip to content
Clarisights Knowledge Center home
InboxAsk a human

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

$in

Array of strings

Matches any of the specified values

$nin

Array of strings

Excludes the specified values

$contains

String

Contains substring (case-sensitive)

$i_contains

String

Contains substring (case-insensitive)

$not_contains

String

Does not contain substring

$i_not_contains

String

Does not contain substring (case-insensitive)

$starts_with

String

Starts with prefix (case-sensitive)

$i_starts_with

String

Starts with prefix (case-insensitive)

$i_contains_regex

String

Matches a regular expression (case-insensitive)

$i_not_contains_regex

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 adapt

  • An 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., 0 12 * * * for daily at noon). Minimum interval: 1 hour.

Duration

Yes

The date range to export (preset or explicit dates)

Destination

Yes

Which destination to upload to

Timezone

No

IANA timezone (e.g., America/New_York). Defaults to your company timezone. Used for the cron and for the date range.

Compression

No

gzip (default) or none

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

{pipeline_name}

The pipeline's name

{manifest_version}

The manifest version number

{extract_id}

The extract ID

{export_start_date}, {export_end_date}

The first and last date of the exported data (YYYY-MM-DD)

{export_date}

The date of the run in the schedule's timezone (YYYY-MM-DD)

{epoch_time}

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

today

Current day (in the schedule's timezone)

yesterday

Previous day

last_Nd

Last N days, excluding today (e.g., last_7d, last_30d, last_90d)

today_Nd

Today plus N-1 previous days (e.g., today_7d = last 7 days including today)

start:end

A moving range. Each end is a day offset from today or a fixed date, both included (e.g., -5d:-1d = the 5 days before today, 2026-01-01:-1d = from 1 January 2026 to yesterday)

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

0 12 * * *

Every day at 12:00 PM

0 0,12 * * *

Twice daily at midnight and noon

0 8 * * 1

Every Monday at 8:00 AM

0 6 1 * *

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, or failed

  • Stats: 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.