Skip to content

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

PlatformTableRowsStatus Values
Google Adssuse_google_status_final_v2~2,689ENABLED, PAUSED, REMOVED
Microsoft Adssuse_microsoft_status_final_v2~1,136Active, Paused
6sensesuse_6sense_status_final_v2~1,018Active, 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

ColumnTypeDescription
CampaignIDSTRINGGoogle campaign ID
AdgroupIDSTRINGGoogle ad group ID
AdIDSTRINGGoogle ad ID
CampaignnameSTRINGCampaign name
AdgroupnameSTRINGAd group name
CampaignstateSTRINGCampaign status (ENABLED / PAUSED)
AdgroupstatusSTRINGAd group status (ENABLED / PAUSED / REMOVED)
AdStatusSTRINGAd status (ENABLED / PAUSED / REMOVED)
StartdateSTRINGCampaign start date

Ingestion: Uploaded via Dataslayer.


Microsoft Status Table

Full reference: paidteam-data-warehouse.customer_ads_suse.suse_microsoft_status_final_v2

ColumnTypeDescription
CampaignIDSTRINGMicrosoft campaign ID
AdGroupIDSTRINGMicrosoft ad group ID
AdIDSTRINGMicrosoft ad ID
CampaignNameSTRINGCampaign name
AdGroupNameSTRINGAd group name
CampaignStatusSTRINGCampaign status (Active / Paused)
AdGroupStatusSTRINGAd group status (Active / Paused)
AdStatusSTRINGAd status (Active / Paused)

Ingestion: Uploaded via Dataslayer.


6sense Status Table

Full reference: paidteam-data-warehouse.customer_ads_suse.suse_6sense_status_final_v2

ColumnTypeDescription
Campaign_IDSTRING6sense campaign ID
AdGroup_IDSTRING6sense ad group ID
Ad_IDSTRING6sense ad ID
CampaignSTRINGCampaign name
AdGroupSTRINGAd group name
AdSTRINGAd name
CampaignStatusSTRINGCampaign status (Active / Completed / Paused)
AdGroupStatusSTRINGAd group status
AdStatusSTRINGAd 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.

SUSE Paid Advertising Data Warehouse V2