Skip to content

suse_reddit_creative_staging_v2

Full reference: paidteam-data-warehouse.customer_ads_suse.suse_reddit_creative_staging_v2Type: Staging | Rows: 202 | Size: 0.1 MB

Reddit creative metadata staging table (V2). Contains ad-level creative details including URLs, post links, and status information. Populated by Dataslayer with current creative metadata.

Schema

ColumnTypeNullableDescription
CampaignIDSTRINGYesReddit campaign ID
AdgroupIDSTRINGYesReddit ad group ID
AdIDSTRINGYesReddit ad ID
CampaignnameSTRINGYesCampaign name
AdgroupnameSTRINGYesAd group name
AdnameSTRINGYesAd name
CampaignobjectiveSTRINGYesCampaign objective
GoalTypeSTRINGYesGoal type
CampaigngoaltypeINTEGERYesCampaign goal type code
CampaignObjectiveTypeINTEGERYesCampaign objective type code
OptimizationStrategyTypeINTEGERYesOptimization strategy type code
AdEffectiveStatusSTRINGYesCurrent effective status of the ad
AdClickURLSTRINGYesClick-through URL
AdPostURLSTRINGYesURL of the Reddit post used as the ad
AdPostIDSTRINGYesID of the Reddit post used as the ad
AdPreviewExpirySTRINGYesExpiry timestamp for the ad preview link
AdPreviewURLSTRINGYesPreview URL for the ad
SpendFLOATYesTotal spend for this creative

Partitioning & Clustering

  • Partitioned by: None (metadata table, no Date column)
  • Clustering: None

Refresh Logic

This is a staging table. Dataslayer populates it with the current state of all Reddit creatives. The Creative Refresh Script uses a MERGE to update the final table.

During the MERGE, column casing is normalized from the staging table's mixed casing to PascalCase in the final table:

  • AdgroupID --> AdGroupID
  • Campaignname --> CampaignName
  • Adgroupname --> AdGroupName
  • Adname --> AdName
  • Campaignobjective --> CampaignObjective

Primary key for MERGE: CampaignID + AdgroupID + AdID (composite)

Sample Query

sql
SELECT
  CampaignID,
  AdID,
  Campaignname,
  Adname,
  AdEffectiveStatus,
  AdClickURL,
  AdPostURL
FROM `paidteam-data-warehouse.customer_ads_suse.suse_reddit_creative_staging_v2`
WHERE AdEffectiveStatus = 'ACTIVE'
ORDER BY Spend DESC
LIMIT 50;

Notes

  • Column casing is normalized during MERGE: The staging table uses Dataslayer's original casing (Campaignname, AdgroupID), but the final table uses PascalCase (CampaignName, AdGroupID). The MERGE script handles this mapping.
  • Campaigngoaltype, CampaignObjectiveType, and OptimizationStrategyType are typed as INTEGER in the staging table. These are numeric code values from the Reddit Ads API.
  • The AdPreviewURL and AdPreviewExpiry columns provide temporary preview links that expire. These are not carried into the final table.
  • The Spend column in staging is included for validation but is not part of the creative final table (spend data lives in the adlevel table).

SUSE Paid Advertising Data Warehouse V2