LoadersLinkedIn Ads

LinkedIn Ads Loader

The LinkedIn Ads loader pulls campaign structure, creative content, and analytics data from your LinkedIn Campaign Manager accounts into your data warehouse. It uses the LinkedIn Marketing API and supports incremental sync for analytics data based on date segments.

Prerequisites

  • A LinkedIn Campaign Manager account with at least one ad account
  • A LinkedIn user account with Reporting Viewer or Campaign Manager access to the ad accounts
  • A connected Warehouse (target warehouse) with write permissions on the target schema

Authentication

The LinkedIn Ads loader uses OAuth 2.0 for authentication.

OAuth 2.0 Setup

  1. In SignalSmith, click Add Loader and select LinkedIn Ads
  2. Click Connect with LinkedIn
  3. You’ll be redirected to LinkedIn’s authorization page
  4. Sign in with your LinkedIn credentials
  5. Grant SignalSmith access to your advertising data
  6. You’ll be redirected back to SignalSmith with the connection established

SignalSmith requests the following OAuth scopes:

ScopePurpose
r_adsRead ad accounts, campaigns, and creatives
r_ads_reportingRead performance analytics and reporting data

SignalSmith automatically refreshes the access token. LinkedIn refresh tokens are valid for 365 days. If the refresh token expires, you’ll need to re-authenticate.

Ad Account Selection

After authentication, SignalSmith lists all LinkedIn ad accounts accessible to the authenticated user. Select the account(s) you want to sync.

Available Objects

ObjectAPI NameDescriptionDefault Sync Mode
CampaignscampaignsCampaign settings, objective, status, budget, and scheduleIncremental
Campaign Groupscampaign_groupsGroupings of related campaignsIncremental
CreativescreativesAd creative content — text, images, videos, and carousel cardsIncremental
Campaign Analyticscampaign_analyticsDaily campaign performance metricsIncremental
Creative Analyticscreative_analyticsDaily creative-level performance metricsIncremental
Ad Accountsad_accountsAccount-level settings, currency, and statusFull Refresh
Conversion Rulesconversion_rulesConversion tracking definitionsFull Refresh
Audience Countsaudience_countsMatched audience sizes for targetingFull Refresh

Analytics (Performance Reports)

Analytics objects contain daily aggregated performance metrics. Each row represents one day of data for the parent entity.

Key metrics available in analytics:

MetricDescription
impressionsNumber of times ads were displayed
clicksTotal clicks
costInLocalCurrencyTotal spend in the account’s currency
costInUsdTotal spend in USD
externalWebsiteConversionsConversions tracked via the LinkedIn Insight Tag
externalWebsitePostClickConversionsPost-click conversions
externalWebsitePostViewConversionsPost-view conversions
likesSocial likes/reactions on sponsored content
commentsSocial comments on sponsored content
sharesSocial shares of sponsored content
followsNew company page follows from the ad
videoViewsVideo views (at least 2 seconds)
videoCompletionsVideos watched to completion
leadGenerationMailContactInfoSharesLead Gen Form submissions

Pivot Dimensions

Analytics can be broken down by additional dimensions:

PivotDescription
MEMBER_COMPANY_SIZECompany size of the viewer
MEMBER_INDUSTRYIndustry of the viewer
MEMBER_SENIORITYSeniority level of the viewer
MEMBER_JOB_FUNCTIONJob function of the viewer
MEMBER_COUNTRY_V2Country of the viewer

Enable pivot dimensions during object configuration. Each pivot adds segmented rows to the analytics table.

Configuration

SettingDescriptionDefault
Ad Account IDLinkedIn ad account ID(s) to sync— (required)
ObjectsList of objects and reports to sync— (you choose during setup)
Analytics PivotsAdditional dimensions for analytics breakdownsNone
Sync ModeFull Refresh or Incremental (per object)Incremental
Date RangeLookback period for analyticsLast 30 days
Primary KeyComposite key for analytics rowscampaign_id + date (+ pivot fields)
Target SchemaWarehouse schema for LinkedIn Ads tables— (required)
Table PrefixOptional prefix for table namesli_
ScheduleSync frequencyDaily

Scheduling Notes

  • Rate limits: The LinkedIn Marketing API enforces rate limits per application and per member. SignalSmith handles rate limiting with automatic backoff and retry.
  • Data freshness: LinkedIn analytics data may be delayed by 24-48 hours. Schedule daily syncs with a 2-day lookback to ensure completeness.
  • Conversion window: LinkedIn attributes conversions using a 30-day click-through and 7-day view-through window by default. SignalSmith re-fetches recent data to capture late-attributed conversions.
  • Analytics granularity: The LinkedIn API supports daily granularity only for analytics. Hourly or real-time metrics are not available.
  • Historical data: LinkedIn provides up to 2 years of historical analytics data. The initial backfill fetches the available history.

Schema Mapping

LinkedIn Ads field types are mapped to warehouse-compatible types:

LinkedIn TypeWarehouse TypeNotes
stringVARCHAR
longBIGINTIDs and count metrics
floatDOUBLEMonetary values and rates
booleanBOOLEAN
dateDATEAnalytics date segments
enumVARCHARStatus, objective, type values
URNVARCHARLinkedIn URN identifiers (e.g., urn:li:sponsoredCampaign:123)

Troubleshooting

IssueSolution
”401 Unauthorized”Access token has expired. Re-authenticate by clicking “Reconnect"
"403 Not enough permissions”The authenticated user lacks access to the ad account. Verify permissions in LinkedIn Campaign Manager
”429 Rate limit exceeded”SignalSmith handles rate limits automatically. If persistent, reduce the number of pivot dimensions
Analytics data doesn’t match Campaign ManagerCheck the date range and attribution window. LinkedIn’s UI may apply different defaults
Missing creative contentSome creative types (e.g., Dynamic Ads) may have limited API data. Verify the creative type is supported
No data for recent datesLinkedIn analytics may be delayed by 24-48 hours
URN values in ID columnsLinkedIn uses URN format for identifiers. Extract the numeric ID using string parsing in your models

Next Steps