Skip to main content

Introduction

LinkedIn Ads is LinkedIn’s B2B-focused paid advertising platform, used to run Sponsored Content, Sponsored Messaging, Text Ads, Dynamic Ads, and Lead Gen Forms across the LinkedIn feed and inbox. It supports CPC, CPM, and CPS payment models across awareness, consideration, and conversion objectives, with audience targeting built on professional attributes such as company, industry, job function, job title, and seniority. The connector imports campaign structure, performance metrics, and conversion data through LinkedIn’s Marketing Developer Platform. As a marketing connector, metrics, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration. To connect this data source, see How to connect LinkedIn Ads to Adriel.

Data refresh strategy

Architecture data

Architecture covers ad accounts, campaigns, and ads. It refreshes twice daily at 4:00 PM UTC and 5:00 AM UTC.

Reports data

Reports include daily performance metrics for ad accounts, campaigns, ad sets, and ads. Real-time. Report data is fetched from LinkedIn on demand when a dashboard loads, so the latest values are always visible. On top of that, scheduled cache refreshes keep historical data consistent across multiple time windows. Refresh schedule. Reports refresh on three overlapping schedules:
  • 5:00 PM UTC daily — syncs the last 9 days for ad account, campaign, ad set, and ad
  • 11:40 PM and 6:40 AM UTC daily — syncs the last 3 days for ad account, campaign, ad set, and ad
  • 7:30 AM UTC on the 1st and 15th of each month — syncs the last 30 days for ad account, campaign, ad set, and ad

Architecture levels

Ad account → Campaign → (Ad set = duplicate of campaign) → Ad
LinkedIn has no native ad set entity Both the campaign and ad set levels query the same LinkedIn endpoint, so the same campaigns appear at both hierarchy levels. Ad-set-level queries returning identical data to campaign-level queries is expected behavior, not a bug.

Date range limits

Metrics

How to read the columnsData type uses Adriel’s vocabulary — Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean. API Key in code style like impressions is the literal LinkedIn Marketing API field; where the same raw field name is shared across objects (LinkedIn returns name for the ad account, campaign, ad set, and ad) it’s shown qualified as object.field (for example account.name) so each row stays unique; italic marks a value Adriel computes or derives. Some raw fields back several rows — notably costInLocalCurrency (spend) and creativeParams.urls (the ad’s destination URLs, which Adriel parses for landing and UTM values) — so the same key can appear on multiple rows; that’s the shared source field, not a duplicated entry. Currency values are reported in each ad account’s configured LinkedIn currency; when the ad account currency differs from the workspace currency, values are converted using the current day’s exchange rate.

Basic

Campaign Attributes

UTM values are parsed by Adriel, not returned by LinkedIn. Adriel reads the UTM query parameters from each ad’s configuration and landing URL and exposes them as both metrics (for rollup) and breakdowns (for grouping).

Campaign Structure

Computed Metric

These are calculated by Adriel from other metrics; they have no single underlying LinkedIn field.

Conversion Performance

Custom conversion events. LinkedIn conversion data is fetched in a separate query and joined to the main analytics response; named conversion events are resolved through LinkedIn’s conversions endpoint to build an ID-to-name map. Any conversion event configured in the connected ad account is imported and, for each, Adriel also generates derived KPIs such as ROAS, CPA, and conversion rate. An event appears on a dashboard only while the underlying event is active in the account.
Conversion stub rows for missing metric matches. When a conversion row exists for a date and breakdown combination that has no matching metric row — for example an entity with conversions but zero impressions — a stub row with empty metrics is synthesized so the conversion data is preserved.

Engagement

Impression Click Performance

Video Performance

LinkedIn Ads-specific

These metrics exist only for LinkedIn Ads and aren’t part of any cross-connector category. Every group above is a standard category shared with other connectors.
Raw pass-through metrics. Several metrics are also exposed in a raw LinkedIn Ads: [metric] form directly from the LinkedIn API — for example LinkedIn Ads: Impressions, LinkedIn Ads: Landing Page Clicks, LinkedIn Ads: Total Engagements, and LinkedIn Ads: Cost In Local Currency. These mirror the standardized metrics above.

Breakdowns

Basic

Campaign Structure

Creatives

Adriel post-processes ad creatives to generate these breakdowns.

Date

LinkedIn returns daily records; all time-grouping breakdowns are Adriel-side aggregations of the same underlying daily data.

Others

LinkedIn Ads-specific

These breakdowns exist only for LinkedIn Ads and aren’t part of any cross-connector category. Every group above is a standard category shared with other connectors.

Limitations

  • Maximum 2 breakdowns per query. Adriel’s LinkedIn connector caps each query at two breakdowns at once; adding a third returns a “too much breakdowns” error. This is an Adriel connector limit, not a LinkedIn platform restriction.
  • Detail breakdowns not supported at ad level. Detail breakdowns must be queried at the ad account, campaign, or ad set level; querying one at ad level returns an error.
  • Detail breakdown with conversion metrics. Conversion data is not returned for queries that include a detail breakdown.
  • 20-item architecture filter cap. When more than 20 campaigns, groups, or creatives are selected in the data source filter, the filter is dropped and account-level (unfiltered) data is returned. Use a breakdown for finer granularity past 20 items.
  • Ad set duplicates campaign. LinkedIn has no native ad set entity, so campaign-level and ad-set-level queries return the same data (LinkedIn campaign and account structure).
  • Company breakdown labels can be raw URNs. LinkedIn’s organizations lookup requires that the connecting user be a member of the organization. Companies without that membership fall back to the raw URN as the label.
  • Token activation delay. After OAuth, LinkedIn’s API can take up to roughly a minute to accept the new token. The connector retries the ad-account list call multiple times during this window; if LinkedIn takes longer, data source creation can fail and a retry is required.
  • Token expiry. OAuth tokens occasionally expire and require re-authorization via the connections list.
  • Today’s end date is omitted. Reports for date ranges ending today omit the end-date field to prevent partial-day data contamination.

API references

See also