Appearance
Campaign Status Tables
Status tables provide a point-in-time snapshot of whether each campaign, ad group, and ad is active, paused, or removed. They are used to filter reporting data to only show active campaigns or to flag paused items.
INFO
Status tables have no Date column. They represent the current state of each entity, not historical status. Each refresh fully replaces the previous data.
Available Status Tables
| Platform | Table | Rows | Status Values |
|---|---|---|---|
| Google Ads | suse_google_status_final_v2 | ~2,689 | ENABLED, PAUSED, REMOVED |
| Microsoft Ads | suse_microsoft_status_final_v2 | ~1,136 | Active, Paused |
| 6sense | suse_6sense_status_final_v2 | ~1,018 | Active, Completed, Paused |
TIP
Google uses UPPERCASE values (ENABLED, PAUSED). Microsoft and 6sense use Title Case (Active, Paused). Keep this in mind when writing cross-platform queries.
Google Status Table
Full reference: paidteam-data-warehouse.customer_ads_suse.suse_google_status_final_v2
| Column | Type | Description |
|---|---|---|
| CampaignID | STRING | Google campaign ID |
| AdgroupID | STRING | Google ad group ID |
| AdID | STRING | Google ad ID |
| Campaignname | STRING | Campaign name |
| Adgroupname | STRING | Ad group name |
| Campaignstate | STRING | Campaign status (ENABLED / PAUSED) |
| Adgroupstatus | STRING | Ad group status (ENABLED / PAUSED / REMOVED) |
| AdStatus | STRING | Ad status (ENABLED / PAUSED / REMOVED) |
| Startdate | STRING | Campaign start date |
Ingestion: Uploaded via Dataslayer.
Microsoft Status Table
Full reference: paidteam-data-warehouse.customer_ads_suse.suse_microsoft_status_final_v2
| Column | Type | Description |
|---|---|---|
| CampaignID | STRING | Microsoft campaign ID |
| AdGroupID | STRING | Microsoft ad group ID |
| AdID | STRING | Microsoft ad ID |
| CampaignName | STRING | Campaign name |
| AdGroupName | STRING | Ad group name |
| CampaignStatus | STRING | Campaign status (Active / Paused) |
| AdGroupStatus | STRING | Ad group status (Active / Paused) |
| AdStatus | STRING | Ad status (Active / Paused) |
Ingestion: Uploaded via Dataslayer.
6sense Status Table
Full reference: paidteam-data-warehouse.customer_ads_suse.suse_6sense_status_final_v2
| Column | Type | Description |
|---|---|---|
| Campaign_ID | STRING | 6sense campaign ID |
| AdGroup_ID | STRING | 6sense ad group ID |
| Ad_ID | STRING | 6sense ad ID |
| Campaign | STRING | Campaign name |
| AdGroup | STRING | Ad group name |
| Ad | STRING | Ad name |
| CampaignStatus | STRING | Campaign status (Active / Completed / Paused) |
| AdGroupStatus | STRING | Ad group status |
| AdStatus | STRING | Ad status |
Ingestion: Uploaded via Google Sheets Apps Script (manual). The status data is extracted from the same hierarchical CSV export used for adlevel data. Status is inherited down the hierarchy: each ad row carries its parent campaign and ad group statuses.
How to Join Status with Performance Data
Status tables share the same ID columns as their corresponding adlevel tables. Use a LEFT JOIN to bring status into your queries:
Google Example
sql
SELECT
a.Date, a.Campaignname, a.Impressions, a.Clicks, a.Cost,
s.Campaignstate, s.AdStatus
FROM `paidteam-data-warehouse.customer_ads_suse.suse_google_adlevel_final_v2` a
LEFT JOIN `paidteam-data-warehouse.customer_ads_suse.suse_google_status_final_v2` s
ON a.CampaignID = s.CampaignID
AND a.AdgroupID = s.AdgroupID
AND a.AdID = s.AdID
WHERE a.Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
AND s.Campaignstate = 'ENABLED'
AND s.AdStatus = 'ENABLED';6sense Example
sql
SELECT
a.Date, a.Campaign, a.Ad, a.Impressions, a.Cost,
s.CampaignStatus, s.AdStatus
FROM `paidteam-data-warehouse.customer_ads_suse.suse_6sense_adlevel_final_v2` a
LEFT JOIN `paidteam-data-warehouse.customer_ads_suse.suse_6sense_status_final_v2` s
ON a.Campaign_ID = s.Campaign_ID
AND a.AdGroup_ID = s.AdGroup_ID
AND a.Ad_ID = s.Ad_ID
WHERE a.Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
AND s.CampaignStatus = 'Active';Future Plans
Status tables for LinkedIn, Reddit, and StackAdapt are planned but not yet implemented. Once all platforms have status tables, they will be integrated into the unified_performance_v2 view for cross-platform active/paused filtering.