---
title: Snapchat Ads
description: Connect Snapchat Ads, understand its sync behavior, and query every table and column it writes.
species: reference
---
# Snapchat Ads

Connect Snapchat Ads with OAuth using your app credentials plus an ad account id. The source writes 5 fixed tables under `titan.snapchat_ads`.
```sql
select
  id,
  ad_account_id,
  name
from titan.snapchat_ads.campaigns
limit 10
```

## Connect Snapchat Ads

1. Open **Apps**, choose **Connect app**, and select **Snapchat Ads**.
2. Enter OAuth using your app credentials plus an ad account id.
3. Review the tables, then save the source.
4. Watch **Sync history** until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

## Sync behavior

Campaign, ad squad, and ad entities sync beside their performance tables.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the [system columns](/v2/docs/concepts/your-lake#the-system-columns) `_synced_at` and `_deleted`; the column reference below lists source columns only.

## Table reference

### `campaigns`

`titan.snapchat_ads.campaigns` has 9 source columns.

```columns table=snapchat_ads.campaigns
id                                      string pk           Source field `id`.
ad_account_id                           string              Source field `adAccountId`.
name                                    string              Source field `name`.
status                                  string              Source field `status`.
objective                               string              Source field `objective`.
start_time                              datetime            Source field `startTime`.
end_time                                datetime            Source field `endTime`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
```

### `ad_squads`

`titan.snapchat_ads.ad_squads` has 10 source columns.

```columns table=snapchat_ads.ad_squads
id                                      string pk           Source field `id`.
campaign_id                             string              Source field `campaignId`.
name                                    string              Source field `name`.
status                                  string              Source field `status`.
type                                    string              Source field `type`.
bid_micro                               integer             Source field `bidMicro`.
daily_budget_micro                      integer             Source field `dailyBudgetMicro`.
optimization_goal                       string              Source field `optimizationGoal`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
```

### `ads`

`titan.snapchat_ads.ads` has 7 source columns.

```columns table=snapchat_ads.ads
id                                      string pk           Source field `id`.
ad_squad_id                             string              Source field `adSquadId`.
name                                    string              Source field `name`.
status                                  string              Source field `status`.
type                                    string              Source field `type`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
```

### `campaign_stats`

`titan.snapchat_ads.campaign_stats` has 6 source columns.

```columns table=snapchat_ads.campaign_stats
campaign_id                             string pk           Source field `campaignId`.
start_time                              datetime pk         Source field `startTime`.
impressions                             integer             Source field `impressions`.
swipes                                  integer             Source field `swipes`.
spend                                   float               Source field `spend`.
video_views                             integer             Source field `videoViews`.
```

### `ad_squad_stats`

`titan.snapchat_ads.ad_squad_stats` has 6 source columns.

```columns table=snapchat_ads.ad_squad_stats
ad_squad_id                             string pk           Source field `adSquadId`.
start_time                              datetime pk         Source field `startTime`.
impressions                             integer             Source field `impressions`.
swipes                                  integer             Source field `swipes`.
spend                                   float               Source field `spend`.
video_views                             integer             Source field `videoViews`.
```

## Deletes and history

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets `_deleted` so queries can choose whether to include history. Filter current-state queries with `where not _deleted`.
