Skip to content

suse_reddit_adlevel_final_v2

Full reference: paidteam-data-warehouse.customer_ads_suse.suse_reddit_adlevel_final_v2Type: Final | Rows: 38,952 | Size: 18.2 MB

Reddit Ads ad-level final data (V2). Contains the complete historical record of Reddit Ads performance, refreshed daily from staging via a rolling 60-day DELETE+INSERT process.

Schema

ColumnTypeNullableDescription
DateDATENoDate of ad performance
CampaignIDSTRINGYesReddit campaign ID
AdgroupIDSTRINGYesReddit ad group ID
AdIDSTRINGYesReddit ad ID
CampaignnameSTRINGYesCampaign name
AdgroupnameSTRINGYesAd group name
AdnameSTRINGYesAd name
CampaignobjectiveSTRINGYesCampaign objective
GoalTypeSTRINGYesGoal type
ImpressionsINTEGERYesNumber of impressions
ClicksINTEGERYesNumber of clicks
CTRFLOATYesClick-through rate
CPCFLOATYesCost per click
ECPMFLOATYesEffective CPM
CPVFLOATYesCost per video view
SpendFLOATYesTotal spend
FrequencyFLOATYesAverage frequency per user
ReachINTEGERYesUnique users reached
RedditLeadsINTEGERYesReddit native lead form submissions
ConversionLeadClicksINTEGERYesClick-through lead conversions
ConversionLeadViewsINTEGERYesView-through lead conversions
ConversionSignUpClicksINTEGERYesClick-through sign-up conversions
ConversionSignUpViewsINTEGERYesView-through sign-up conversions
ConversionViewContentClicksINTEGERYesClick-through content view conversions
ConversionViewContentViewsINTEGERYesView-through content view conversions
VideoviewRateFLOATYesVideo view rate
VideoCompletionRateFLOATYesVideo completion rate
Videowatched25percentINTEGERYesVideo watched to 25% count
Videowatched50percentINTEGERYesVideo watched to 50% count
Videowatched75percentINTEGERYesVideo watched to 75% count
Videowatched100percentINTEGERYesVideo watched to 100% count
_ingested_atTIMESTAMPYesTimestamp when the row was inserted by the refresh script

Partitioning & Clustering

  • Partitioned by: Date (DAY)
  • Partitions: 383
  • Clustered by: Campaignname, Adgroupname

Refresh Logic

The scheduled refresh script performs the following for Reddit:

  1. Read all rows from suse_reddit_adlevel_staging_v2
  2. Identify the MIN(Date) and MAX(Date) range in staging
  3. DELETE rows in this final table matching that date range AND the same CampaignID, AdgroupID, AdID combinations
  4. INSERT all staging rows with _ingested_at = CURRENT_TIMESTAMP()
  5. Log the operation to refresh_log_v2

Primary keys used for refresh: Date, CampaignID, AdgroupID, AdID

Sample Query

sql
SELECT
  Date,
  Campaignname,
  Campaignobjective,
  SUM(Impressions) AS total_impressions,
  SUM(Clicks) AS total_clicks,
  SUM(Spend) AS total_spend,
  SUM(RedditLeads) AS total_leads
FROM `paidteam-data-warehouse.customer_ads_suse.suse_reddit_adlevel_final_v2`
WHERE Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY Date, Campaignname, Campaignobjective
ORDER BY Date DESC
LIMIT 100;

Notes

  • Column casing matches the staging table (Campaignname, Adgroupname, AdgroupID). This inconsistency with other platforms must be handled in cross-platform views using column aliasing.
  • Clustering uses the lowercase-n name columns (Campaignname, Adgroupname) to match the actual column names.
  • Reddit uses Spend for cost, unlike Google (CostUSD), Microsoft (Cost), and LinkedIn (Cost).

SUSE Paid Advertising Data Warehouse V2