Skip to content

linkedin_creative_performance_v2

This view joins the LinkedIn adlevel final table with the LinkedIn creative final table, producing a single denormalized output with performance metrics, creative metadata, ad copy, media URLs, and UDF-enriched campaign fields.

View Details

PropertyValue
Full pathpaidteam-data-warehouse.customer_ads_suse.linkedin_creative_performance_v2
Source (adlevel)suse_linkedin_adlevel_final_v2
Source (creative)suse_linkedin_creative_final_v2
Join typeLEFT JOIN
Join keyCreativeID

Join Logic

sql
FROM `paidteam-data-warehouse.customer_ads_suse.suse_linkedin_adlevel_final_v2` a
LEFT JOIN `paidteam-data-warehouse.customer_ads_suse.suse_linkedin_creative_final_v2` c
  ON a.CreativeID = c.CreativeID

The LEFT JOIN ensures that all adlevel performance rows are preserved even if no matching creative metadata record exists. LinkedIn uses CreativeID as a globally unique identifier, so a single-column join is sufficient.

Column Groups

Date and IDs

ColumnTypeSourceDescription
DateDATEadlevelThe reporting date
CampaignGroupIDSTRINGadlevelLinkedIn campaign group identifier
CampaignIDSTRINGadlevelLinkedIn campaign identifier
CreativeIDSTRINGadlevelLinkedIn creative identifier (join key)

Names (with COALESCE)

Campaign and group names use COALESCE to prefer the adlevel value but fall back to the creative table value if the adlevel name is NULL.

ColumnTypeDescription
CampaignGroupNameSTRINGCOALESCE(a.CampaignGroupName, c.CampaignGroupName)
CampaignNameSTRINGCOALESCE(a.CampaignName, c.CampaignName)
CreativeNameSTRINGName of the creative from adlevel data

Campaign Metadata

ColumnTypeDescription
CampaignTypeSTRINGType of campaign (e.g., Sponsored Content)
CampaignObjectiveSTRINGCampaign objective (e.g., Lead Generation)
CostTypeSTRINGBilling model (e.g., CPM, CPC)

Creative Metadata

ColumnTypeSourceDescription
CreativeStatusSTRINGcreativeCurrent status of the creative (ACTIVE, PAUSED, etc.)
CreativeTypeSTRINGcreativeType of creative (e.g., SPONSORED_STATUS_UPDATE)
IntendedStatusSTRINGcreativeIntended delivery status

Ad Copy

ColumnTypeSourceDescription
AdHeadlineSTRINGcreativeHeadline text of the ad
AdCommentarySTRINGcreativeBody/commentary text of the ad
AdCallToActionSTRINGcreativeCall-to-action label (e.g., LEARN_MORE, SIGN_UP)

URLs

ColumnTypeSourceDescription
DestinationURLSTRINGcreativeClick-through destination URL
LandingPageURLSTRINGcreativeFinal landing page URL

Media URLs

ColumnTypeSourceDescription
ImageURLSTRINGcreativeURL to the ad image asset
VideoURLSTRINGcreativeURL to the ad video asset (if video creative)
ThumbnailURLSTRINGcreativeURL to the video thumbnail image

Core Metrics

ColumnTypeDescription
ImpressionsINTEGERNumber of times the ad was displayed
ClicksINTEGERNumber of clicks on the ad
CostFLOAT64Total spend in account currency

Rate Metrics

ColumnTypeDescription
CTRFLOAT64Click-through rate (Clicks / Impressions)
CPCFLOAT64Average cost per click
CPMFLOAT64Cost per thousand impressions

Reach

ColumnTypeDescription
ReachINTEGERUnique users who saw the ad
FrequencyFLOAT64Average number of times each user saw the ad

Engagement

ColumnTypeDescription
LikesINTEGERNumber of likes/reactions
CommentsINTEGERNumber of comments
SharesINTEGERNumber of shares
FollowsINTEGERNumber of follows generated
TotalEngagementsINTEGERSum of all engagement actions
EngagementRateFLOAT64Engagements as a percentage of impressions

Lead Generation

ColumnTypeDescription
LeadFormOpensINTEGERNumber of times the lead form was opened
LeadFormSubmissionsINTEGERNumber of completed lead form submissions
CostPerLeadFLOAT64Cost / LeadFormSubmissions

Video Metrics

ColumnTypeDescription
VideoViewsINTEGERNumber of video views
VideoCompletionsINTEGERNumber of times the video was watched to completion
VideoCompletionRateFLOAT64Completions as a percentage of views

Document Metrics

ColumnTypeDescription
DocumentCompletionsINTEGERNumber of times a document ad was fully viewed
DocumentFirstQuartileCompletionsINTEGERViews past 25% of the document

Conversions

ColumnTypeDescription
ExternalWebsiteConversionsINTEGERConversion events from external website pixel
ExternalWebsitePostClickConversionsINTEGERPost-click conversions
ExternalWebsitePostViewConversionsINTEGERPost-view (view-through) conversions
OneClickLeadFormOpensINTEGEROne-click lead form opens
OneClickLeadsINTEGEROne-click lead submissions

Calculated Fields

ColumnTypeDescription
TotalConversionsINTEGERSum of all conversion types
CPAFLOAT64Cost / TotalConversions (NULL-safe)

UDF-Enriched Fields

These fields are computed at query time by the dataset's UDFs, parsing the campaign naming convention.

ColumnUDFDescription
Channelget_channel()Advertising channel (e.g., Paid Social)
CampaignCodeget_campaign_code()Numeric campaign tracking code
ProductLineget_product_line()Product line (e.g., Business Critical Linux)
Productget_product()Specific product name
SubProductget_subproduct()Sub-product or variant
GEOget_geo()Geographic targeting region
Tierget_tier()Tier classification
Languageget_language()Language targeting
Audienceget_audience()Audience segment
ContentNameget_content_name()Human-readable content name from creative name

Audit Timestamps

ColumnTypeSourceDescription
_ingested_atTIMESTAMPadlevelWhen the adlevel row was written to the final table
creative_ingested_atTIMESTAMPcreativeWhen the creative record was last merged

Example Queries

Top Creatives by Spend (Last 30 Days)

sql
SELECT
  CreativeName,
  AdHeadline,
  ImageURL,
  SUM(Cost) AS TotalSpend,
  SUM(Impressions) AS TotalImpressions,
  SUM(Clicks) AS TotalClicks,
  SAFE_DIVIDE(SUM(Clicks), SUM(Impressions)) AS AvgCTR,
  SUM(TotalConversions) AS Conversions
FROM `paidteam-data-warehouse.customer_ads_suse.linkedin_creative_performance_v2`
WHERE Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY CreativeName, AdHeadline, ImageURL
ORDER BY TotalSpend DESC
LIMIT 20;

Creative Fatigue Detection

sql
SELECT
  CreativeID,
  CreativeName,
  AdHeadline,
  DATE_TRUNC(Date, WEEK) AS Week,
  SUM(Impressions) AS WeeklyImpressions,
  SAFE_DIVIDE(SUM(Clicks), SUM(Impressions)) AS WeeklyCTR,
  SAFE_DIVIDE(SUM(Cost), SUM(Clicks)) AS WeeklyCPC
FROM `paidteam-data-warehouse.customer_ads_suse.linkedin_creative_performance_v2`
WHERE Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY)
GROUP BY CreativeID, CreativeName, AdHeadline, Week
ORDER BY CreativeID, Week;

Performance by Product Line

sql
SELECT
  ProductLine,
  Product,
  COUNT(DISTINCT CreativeID) AS UniqueCreatives,
  SUM(Cost) AS TotalSpend,
  SUM(LeadFormSubmissions) AS TotalLeads,
  SAFE_DIVIDE(SUM(Cost), SUM(LeadFormSubmissions)) AS CostPerLead
FROM `paidteam-data-warehouse.customer_ads_suse.linkedin_creative_performance_v2`
WHERE Date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY ProductLine, Product
ORDER BY TotalSpend DESC;

Dependencies

  • Tables: suse_linkedin_adlevel_final_v2, suse_linkedin_creative_final_v2
  • UDFs: All 10 UDFs (get_channel, get_campaign_code, get_product_line, get_product, get_subproduct, get_geo, get_tier, get_language, get_audience, get_content_name)
  • Consumers: Looker Studio LinkedIn Creative Dashboard

SUSE Paid Advertising Data Warehouse V2