Snapchat Ads

The Snapchat Ads Connector provides automated access to ad analytics via the Snapchat Marketing API.


The Snapchat Marketing API uses access tokens to control access and authentication through OAuth.

For the connector to to access the API, add a Key through the Keys tab and choose the “Snapchat” credential type.

Provide a Key Name and then click the Connect button to obtain the OAuth credential.

Key Name
The value to use for the key property of your Switchboard Script (see below)


The Snapchat Ads connector can be scheduled to ingest data once per day at a user-defined hour and timezone.

By default, the connector will run once at 6am PT.

See Daily Scheduling for more information.

This connector supports repulls to accomodate the fact that Snapchat changes conversion metrics over a period of days after the initial reporting date. It is possible to specify the duration after which the data should be pulled again or “re-pulled” via the repull_days parameter.

This connector also allows importing the date-range backfills through the Switchboard UI.


For full details on parameter values, see the Snapchat marketing API documentation.

REQUIRED An Organization represents an brand, partner or ad agency, creation happens via Snap Business Manager; string
REQUIRED Affects campaign stats; string list
OPTIONAL Metrics granularity. Affects campaign stats; string, default = DAY
OPTIONAL Object-level breakdown. Affects campaign stats; string
*OPTIONAL** Insight-level breakdown. Affects campaign stats; string list
OPTIONAL Attribution window for swipe ups. Affects campaign stats; string
OPTIONAL Attribution window for views. Affects campaign stats; string
OPTIONAL Conversion source breakout by platform. Affects campaign stats; string

Sample Switchboard Script

import bundle snapchat_bundle {
    type: "snapchat:campaign_bundle";
    key: "snapchat_ads_key";
    organization_id: "XXXXXXXXXX";
    granularity: "DAY";
    dimension: ["country"];
    breakdown: "adsquad";
    timezone: "America/Los_Angeles";
    metrics: [

    // All ad accounts for the organization
   table ad_accounts using SNAPCHAT_ACCOUNTS_SCHEMA;

    // All ad squads for all ad accounts
   table ad_squads using SNAPCHAT_AD_SQUADS_SCHEMA;

    // All campaigns for all ad accounts
   table campaigns using SNAPCHAT_CAMPAIGN_SCHEMA;

    // Campaign stats for all campaigns
   table campaign_stats using SNAPCHAT_CAMPAIGN_STATS_SCHEMA;


    id: string;
    name: string;
    updated_at: datetime;
    created_at: datetime;
    type: string;
    status: string;
    organization_id: string;
    currency: string;
    timezone: string;
    advertiser_organization_id: string;
    billing_center_id: string;
    billing_type: string;
    agency_representing_client: boolean;
    client_paying_invoices: boolean;
    funding_source_ids: json;

    id: string;
    updated_at: datetime;
    created_at: datetime;
    name: string;
    status: string;
    campaign_id: string;
    type: string;
    targeting: {
        regulated_content: boolean;
        demographics: json;
        interests: json;
        geos: json;
        segments: json;
    targeting_reach_status: string;
    placement: string;
    billing_event: string;
    bid_micro: integer;
    auto_bid: boolean;
    target_bid: boolean;
    bid_strategy: string;
    lifetime_budget_micro: integer;
    start_time: datetime;
    end_time: datetime;
    optimization_goal: string;
    delivery_constraint: string;
    pacing_type: string;
    pixel_id: string;

    id: string;
    updated_at: datetime;
    created_at: datetime;
    name: string;
    ad_account_id: string;
    status: string;
    objective: string;
    measurement_spec: json;
    start_time: datetime;
    end_time: datetime;
    lifetime_spend_cap_micro: integer;
    buy_model: string;

    id: string;
    type: string;
    start_time: datetime;
    end_time: datetime;
    breakdown_stats: json;
    swipe_up_attribution_window: string;
    view_attribution_window: string;
    finalized_data_end_time: datetime;