Skip to content

campaign_dimension_catalog_v2

This view surfaces every unique combination of ProductLine, Product, and Campaign found in unified_performance_v2, with context about each combination's scale and platform coverage. It is the starting point for the Campaign Dimension Mapping System.

View Details

PropertyValue
Full pathpaidteam-data-warehouse.customer_ads_suse.campaign_dimension_catalog_v2
Sourceunified_performance_v2
Output rows~52 unique combinations
Created2026-02-09

Purpose

SUSE organizes performance reporting around two business hierarchies:

  • Business Units (7): Cloud Native, Linux, Edge, AI, SAP, Telco, Digital Sovereignty
  • Global Campaigns (5): Corporate Brand Choice, Manage & Secure, Optimize, Modernize, Innovate

The mapping between UDF-extracted dimensions (ProductLine, Product, Campaign) and these hierarchies is not derivable by rules alone. This catalog view provides:

  1. Discovery -- see all dimension combinations currently in the data
  2. Seed data -- export to Google Sheets for manual BusinessUnit/GlobalCampaign tagging (Phase 2)
  3. Monitoring -- detect new combinations that appear as campaigns launch

Columns

ColumnTypeDescription
ProductLineSTRINGTop-level product category (from get_product_line UDF)
ProductSTRINGSpecific product (from get_product UDF)
CampaignSTRINGCampaign-level detail (from get_subproduct UDF). Returns "None" when no sub-product found.
PlatformCountINT64Number of distinct platforms running this combination
PlatformsSTRINGComma-separated list of platform names
TotalSpendFLOAT64Total cost in USD across all time and platforms
TotalImpressionsINT64Total impressions across all time and platforms
FirstSeenDATEEarliest date this combination appeared
LastSeenDATEMost recent date this combination appeared
TotalRowsINT64Total adlevel rows for this combination

Example Output

ProductLineProductCampaignPlatformCountPlatformsTotalSpend
Cloud NativeECMECM56sense Ads, Google Ads, LinkedIn Ads, Microsoft Ads, Reddit Ads909,463
LinuxMLSRHEL (Freedom)56sense Ads, Google Ads, LinkedIn Ads, Microsoft Ads, Reddit Ads296,437
AIAIAI3Google Ads, LinkedIn Ads, Microsoft Ads449,561
EdgeEdgeHorizontal3Google Ads, LinkedIn Ads, Microsoft Ads451,572

Example Queries

View the Full Catalog

sql
SELECT *
FROM `paidteam-data-warehouse.customer_ads_suse.campaign_dimension_catalog_v2`;

Top Combinations by Spend

sql
SELECT ProductLine, Product, Campaign, TotalSpend, Platforms
FROM `paidteam-data-warehouse.customer_ads_suse.campaign_dimension_catalog_v2`
ORDER BY TotalSpend DESC
LIMIT 10;

Combinations Running on Only 1 Platform

sql
SELECT ProductLine, Product, Campaign, Platforms, TotalSpend
FROM `paidteam-data-warehouse.customer_ads_suse.campaign_dimension_catalog_v2`
WHERE PlatformCount = 1
ORDER BY TotalSpend DESC;

Design Decisions

VIEW not TABLE

The catalog is always fresh -- new campaigns appear immediately without refresh infrastructure. Since it is consumed ad-hoc (not powering dashboards), there is no performance concern with computing ~52 rows from ~837K source rows on demand.

No BusinessUnit/GlobalCampaign Columns (Phase 1)

Ambiguous cases (e.g., "Cloud Native | ECM | SAP" -- is it BU: SAP or BU: Cloud Native?) require human judgment. Phase 2 adds a Google Sheet mapping table with these columns.

TotalSpend for Prioritization

Including spend context helps prioritize which combinations to map first in Phase 2. High-spend combinations should be mapped before low-spend niche campaigns.

Roadmap

PhaseDescriptionStatus
Phase 1Catalog view (this view)Done
Phase 2Google Sheet mapping + external table + final table + unmapped monitor viewPlanned
Phase 3Enrich unified_performance_v2 with BusinessUnit and GlobalCampaign columnsPlanned

Dependencies

  • Source view: unified_performance_v2 (all 6 platforms, 12 UDFs)
  • Consumers: Ad-hoc queries, Google Sheets export (Phase 2)

SUSE Paid Advertising Data Warehouse V2