# LinkedIn Ads

LinkedIn is a social networking site designed for the business community. You can use LinkedIn Ads to promote your brand, increase traffic, find new leads and more.

See the [Schema](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#Schema) section for a list of objects available for replication.

## Preparing for authentication

To access your data, you need to authenticate the connection with your account credentials.

Information noteMake sure that the account you use has read access to the tables you want to fetch.

To set up a LinkedIn Ads connection in Qlik Talend Cloud, you must have access to the following:

* LinkedIn Ads account
* LinkedIn Campaign Manager account

To retrieve your client ID and client secret:

1. Log into your [LinkedIn](https://www.linkedin.com/login/en) account.
2. Navigate to Work &gt; Advertise.
3. Locate the IDs for the accounts from which you want to replicate data.
4. Log into your [LinkedIn Developers](https://www.linkedin.com/developers/login) account.
5. Navigate to My Apps &gt; Create App.
6. Enter the app information, and then click Create App.
7. From the Auth tab, copy and paste your client ID and client secret into a secured file.
8. Make sure Authorized Redirect URLs is set to https://connector.qlik.com/auth/oauth/v3.htm.
9. Open the Team Members tab and make sure you are added as a team member who can use the app.

Information note

Ask your LinkedIn organization admin to verify the app. If the app is not verified, you might not be able to grant the required scopes during authentication.

## Creating the connection

For more information, see [Connecting to SaaS applications](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Click Authenticate when you have filled in the required connection settings.

   You may be asked to log in to the source application.

   A window is displayed with an authentication code.

2. Copy the code to the clipboard and return to the connection dialog.

3. Paste the code in Complete authentication with the code provided by the source and click Verify.

   Tip noteYou may need to scroll down to see this field.

   When status is Verified, the authentication is verified.

4. Provide a name for the connection in Connection name.

5. Select Open connection metadata to define metadata for the connection when it has been created.

Connection settings

| Setting | Description |
| --- | --- |
| Data gateway | Select a Data Movement gateway if required by your use case.<br><br>Information note<br><br>This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None.<br><br>For information on the benefits of Data Movement gateway and use cases that require it, see [Qlik Data Gateway - Data Movement](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Start Date | Enter the date, in the format `MM/DD/YYYY`, from which the data must be replicated from your source to your target. |
| Accounts | A comma separated list of accounts to sync. |
| Client ID | Client ID. |
| Client Secret | Client secret. |

## Schema

Information note

Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.

Depending on your destination, table and column names may not appear as they are outlined below.

### account\_users

The `account_users` table contains info about the users who have permissions to an ad account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Keys** | account\_id<br><br>user\_person\_id |
| **Replication Key** | last\_modified\_time |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-account-users?view=li-lms-2022-07&tabs=http#find-ad-account-users-by-accounts "Opens in new tab: LinkedIn Ads API method") |

account\_users table foreign keys

| Join account\_users with | on |
| --- | --- |
| [accounts](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#accounts) | ```<br>account_users.account_id = accounts.id<br>``` |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>account_users.account_id = campaigns.account_id<br>``` |
| [campaign_groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaign-groups) | ```<br>account_users.account_id = campaign_groups.account_id<br>``` |
| [video_ads](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#video-ads) | ```<br>account_users.account_id = video_ads.account_id<br>``` |

account\_users table schema

| **account**<br><br><br>STRING |
| --- |
| **account\_id**<br><br><br>INTEGER |
| **campaign\_contact**<br><br><br>BOOLEAN |
| **change\_audit\_stamps**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>created: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li><li>last_modified: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li></ul> |
| **created\_time**<br><br><br>DATE-TIME |
| **last\_modified\_time**<br><br><br>DATE-TIME |
| **role**<br><br><br>STRING |
| **user**<br><br><br>STRING |
| **user\_person\_id**<br><br><br>STRING |

### accounts

The `accounts` table contains info about your LinkedIn Ads ad accounts.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | last\_modified\_time |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-accounts?view=li-lms-2022-07&tabs=http#search-for-accounts "Opens in new tab: LinkedIn Ads API method") |

accounts table foreign keys

| Join accounts with | on |
| --- | --- |
| [account_users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#account-users) | ```<br>accounts.id = account_users.account_id<br>``` |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>accounts.id = campaigns.account_id<br>``` |
| [campaign_groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaign-groups) | ```<br>accounts.id = campaign_groups.account_id<br>``` |
| [video_ads](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#video-ads) | ```<br>accounts.id = video_ads.account_id<br>``` |

accounts table schema

| **change\_audit\_stamps**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>created: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li><li>last_modified: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li></ul> |
| --- |
| **created\_time**<br><br><br>DATE-TIME |
| **currency**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **last\_modified\_time**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |
| **notified\_on\_campaign\_optimization**<br><br><br>BOOLEAN |
| **notified\_on\_creative\_approval**<br><br><br>BOOLEAN |
| **notified\_on\_creative\_rejection**<br><br><br>BOOLEAN |
| **notified\_on\_end\_of\_campaign**<br><br><br>BOOLEAN |
| **notified\_on\_new\_features\_enabled**<br><br><br>BOOLEAN |
| **reference**<br><br><br>STRING |
| **reference\_organization\_id**<br><br><br>INTEGER |
| **reference\_person\_id**<br><br><br>STRING |
| **serving\_statuses**<br><br>ARRAY<br><br>This is a nested data structure. |
| **status**<br><br><br>STRING |
| **test**<br><br><br>BOOLEAN |
| **total\_budget**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>amount: NUMBER</li><li>currency_code: STRING</li></ul> |
| **total\_budget\_ends\_at**<br><br><br>DATE-TIME |
| **type**<br><br><br>STRING |
| **version**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>version_tag: STRING</li></ul> |

### ad\_analytics\_by\_campaign

The `ad_analytics_by_campaign` table contains analytics data for ads, segmented by campaign.

**Note**: This table is replicated using an attribution window of 7 days. Refer to the [Replication](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#replication) section for more info.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Keys** | campaign\_id<br><br>start\_at |
| **Replication Key** | end\_at |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads-reporting/ads-reporting?view=li-lms-2022-07&tabs=http#analytics-finder "Opens in new tab: LinkedIn Ads API method") |

ad\_analytics\_by\_campaign table foreign keys

| Join ad\_analytics\_by\_campaign with | on |
| --- | --- |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>ad_analytics_by_campaign.campaign_id = campaigns.id<br>``` |
| [creatives](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#creatives) | ```<br>ad_analytics_by_campaign.campaign_id = creatives.campaign_id<br>``` |

ad\_analytics\_by\_campaign table schema

| **action\_clicks**<br><br><br>INTEGER |
| --- |
| **ad\_unit\_clicks**<br><br><br>INTEGER |
| **approximate\_unique\_impressions**<br><br><br>INTEGER |
| **average\_daily\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **average\_previous\_seven\_day\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **average\_previous\_thirty\_day\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **campaign**<br><br><br>STRING |
| **campaign\_id**<br><br><br>INTEGER |
| **card\_clicks**<br><br><br>INTEGER |
| **card\_impressions**<br><br><br>INTEGER |
| **clicks**<br><br><br>INTEGER |
| **comment\_likes**<br><br><br>INTEGER |
| **comments**<br><br><br>INTEGER |
| **company\_page\_clicks**<br><br><br>INTEGER |
| **conversion\_value\_in\_local\_currency**<br><br><br>NUMBER |
| **cost\_in\_local\_currency**<br><br><br>NUMBER |
| **cost\_in\_usd**<br><br><br>NUMBER |
| **date\_range**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>end: OBJECT, which is also a nested data structure.											<ul><li>day: INTEGER</li><li>month: INTEGER</li><li>year: INTEGER</li></ul></li><li>start: OBJECT, which is also a nested data structure.											<ul><li>day: INTEGER</li><li>month: INTEGER</li><li>year: INTEGER</li></ul></li></ul> |
| **document\_completions**<br><br><br>INTEGER |
| **document\_first\_quartile\_completions**<br><br><br>INTEGER |
| **document\_midpoint\_completions**<br><br><br>INTEGER |
| **document\_third\_quartile\_completions**<br><br><br>INTEGER |
| **download\_clicks**<br><br><br>INTEGER |
| **end\_at**<br><br><br>DATE-TIME |
| **external\_website\_conversions**<br><br><br>INTEGER |
| **external\_website\_post\_click\_conversions**<br><br><br>INTEGER |
| **external\_website\_post\_view\_conversions**<br><br><br>INTEGER |
| **follows**<br><br><br>INTEGER |
| **full\_screen\_plays**<br><br><br>INTEGER |
| **impressions**<br><br><br>INTEGER |
| **job\_applications**<br><br><br>NUMBER |
| **job\_apply\_clicks**<br><br><br>NUMBER |
| **landing\_page\_clicks**<br><br><br>INTEGER |
| **lead\_generation\_mail\_contact\_info\_shares**<br><br><br>INTEGER |
| **lead\_generation\_mail\_interested\_clicks**<br><br><br>INTEGER |
| **likes**<br><br><br>INTEGER |
| **one\_click\_lead\_form\_opens**<br><br><br>INTEGER |
| **one\_click\_leads**<br><br><br>INTEGER |
| **opens**<br><br><br>INTEGER |
| **other\_engagements**<br><br><br>INTEGER |
| **pivot**<br><br><br>STRING |
| **pivot\_value**<br><br><br>STRING |
| **pivot\_values**<br><br>ARRAY<br><br>This is a nested data structure. |
| **post\_click\_job\_applications**<br><br><br>NUMBER |
| **post\_click\_job\_apply\_clicks**<br><br><br>NUMBER |
| **post\_click\_registrations**<br><br><br>NUMBER |
| **post\_view\_job\_applications**<br><br><br>NUMBER |
| **post\_view\_job\_apply\_clicks**<br><br><br>NUMBER |
| **post\_view\_registrations**<br><br><br>NUMBER |
| **reactions**<br><br><br>INTEGER |
| **registrations**<br><br><br>NUMBER |
| **sends**<br><br><br>INTEGER |
| **shares**<br><br><br>INTEGER |
| **start\_at**<br><br><br>DATE-TIME |
| **talent\_leads**<br><br><br>INTEGER |
| **text\_url\_clicks**<br><br><br>INTEGER |
| **total\_engagements**<br><br><br>INTEGER |
| **video\_completions**<br><br><br>INTEGER |
| **video\_first\_quartile\_completions**<br><br><br>INTEGER |
| **video\_midpoint\_completions**<br><br><br>INTEGER |
| **video\_starts**<br><br><br>INTEGER |
| **video\_third\_quartile\_completions**<br><br><br>INTEGER |
| **video\_views**<br><br><br>INTEGER |
| **viral\_card\_clicks**<br><br><br>INTEGER |
| **viral\_card\_impressions**<br><br><br>INTEGER |
| **viral\_clicks**<br><br><br>INTEGER |
| **viral\_comment\_likes**<br><br><br>INTEGER |
| **viral\_comments**<br><br><br>INTEGER |
| **viral\_company\_page\_clicks**<br><br><br>INTEGER |
| **viral\_document\_completions**<br><br><br>INTEGER |
| **viral\_document\_first\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_document\_midpoint\_completions**<br><br><br>INTEGER |
| **viral\_document\_third\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_download\_clicks**<br><br><br>INTEGER |
| **viral\_external\_website\_conversions**<br><br><br>INTEGER |
| **viral\_external\_website\_post\_click\_conversions**<br><br><br>INTEGER |
| **viral\_external\_website\_post\_view\_conversions**<br><br><br>INTEGER |
| **viral\_follows**<br><br><br>INTEGER |
| **viral\_full\_screen\_plays**<br><br><br>INTEGER |
| **viral\_impressions**<br><br><br>INTEGER |
| **viral\_job\_applications**<br><br><br>NUMBER |
| **viral\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_landing\_page\_clicks**<br><br><br>INTEGER |
| **viral\_likes**<br><br><br>INTEGER |
| **viral\_one\_click\_lead\_form\_opens**<br><br><br>INTEGER |
| **viral\_one\_click\_leads**<br><br><br>INTEGER |
| **viral\_other\_engagements**<br><br><br>INTEGER |
| **viral\_post\_click\_job\_applications**<br><br><br>NUMBER |
| **viral\_post\_click\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_post\_click\_registrations**<br><br><br>NUMBER |
| **viral\_post\_view\_job\_applications**<br><br><br>NUMBER |
| **viral\_post\_view\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_post\_view\_registrations**<br><br><br>NUMBER |
| **viral\_reactions**<br><br><br>INTEGER |
| **viral\_registrations**<br><br><br>NUMBER |
| **viral\_shares**<br><br><br>INTEGER |
| **viral\_total\_engagements**<br><br><br>INTEGER |
| **viral\_video\_completions**<br><br><br>INTEGER |
| **viral\_video\_first\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_video\_midpoint\_completions**<br><br><br>INTEGER |
| **viral\_video\_starts**<br><br><br>INTEGER |
| **viral\_video\_third\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_video\_views**<br><br><br>INTEGER |

### ad\_analytics\_by\_creative

The `ad_analytics_by_creative` table contains info about ad analytics, segmented by creative.

**Note**: This table is replicated using an attribution window of 7 days. Refer to the [Replication](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#replication) section for more info.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Keys** | creative\_id<br><br>start\_at |
| **Replication Key** | end\_at |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads-reporting/ads-reporting?view=li-lms-2022-07&tabs=http#analytics-finder "Opens in new tab: LinkedIn Ads API method") |

ad\_analytics\_by\_creative table foreign keys

| Join ad\_analytics\_by\_creative with | on |
| --- | --- |
| [creatives](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#creatives) | ```<br>ad_analytics_by_creative.creative_id = creatives.id<br>``` |

ad\_analytics\_by\_creative table schema

| **action\_clicks**<br><br><br>INTEGER |
| --- |
| **ad\_unit\_clicks**<br><br><br>INTEGER |
| **approximate\_unique\_impressions**<br><br><br>INTEGER |
| **average\_daily\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **average\_previous\_seven\_day\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **average\_previous\_thirty\_day\_reach\_metrics**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>approximate_cost_in_currency_per_thousand_members_reached: NUMBER</li><li>approximate_frequency: NUMBER</li><li>approximate_reach: NUMBER</li></ul> |
| **card\_clicks**<br><br><br>INTEGER |
| **card\_impressions**<br><br><br>INTEGER |
| **clicks**<br><br><br>INTEGER |
| **comment\_likes**<br><br><br>INTEGER |
| **comments**<br><br><br>INTEGER |
| **company\_page\_clicks**<br><br><br>INTEGER |
| **conversion\_value\_in\_local\_currency**<br><br><br>NUMBER |
| **cost\_in\_local\_currency**<br><br><br>NUMBER |
| **cost\_in\_usd**<br><br><br>NUMBER |
| **creative**<br><br><br>STRING |
| **creative\_id**<br><br><br>INTEGER |
| **date\_range**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>end: OBJECT, which is also a nested data structure.											<ul><li>day: INTEGER</li><li>month: INTEGER</li><li>year: INTEGER</li></ul></li><li>start: OBJECT, which is also a nested data structure.											<ul><li>day: INTEGER</li><li>month: INTEGER</li><li>year: INTEGER</li></ul></li></ul> |
| **document\_completions**<br><br><br>INTEGER |
| **document\_first\_quartile\_completions**<br><br><br>INTEGER |
| **document\_midpoint\_completions**<br><br><br>INTEGER |
| **document\_third\_quartile\_completions**<br><br><br>INTEGER |
| **download\_clicks**<br><br><br>INTEGER |
| **end\_at**<br><br><br>DATE-TIME |
| **external\_website\_conversions**<br><br><br>INTEGER |
| **external\_website\_post\_click\_conversions**<br><br><br>INTEGER |
| **external\_website\_post\_view\_conversions**<br><br><br>INTEGER |
| **follows**<br><br><br>INTEGER |
| **full\_screen\_plays**<br><br><br>INTEGER |
| **impressions**<br><br><br>INTEGER |
| **job\_applications**<br><br><br>NUMBER |
| **job\_apply\_clicks**<br><br><br>NUMBER |
| **landing\_page\_clicks**<br><br><br>INTEGER |
| **lead\_generation\_mail\_contact\_info\_shares**<br><br><br>INTEGER |
| **lead\_generation\_mail\_interested\_clicks**<br><br><br>INTEGER |
| **likes**<br><br><br>INTEGER |
| **one\_click\_lead\_form\_opens**<br><br><br>INTEGER |
| **one\_click\_leads**<br><br><br>INTEGER |
| **opens**<br><br><br>INTEGER |
| **other\_engagements**<br><br><br>INTEGER |
| **pivot**<br><br><br>STRING |
| **pivot\_value**<br><br><br>STRING |
| **pivot\_values**<br><br>ARRAY<br><br>This is a nested data structure. |
| **post\_click\_job\_applications**<br><br><br>NUMBER |
| **post\_click\_job\_apply\_clicks**<br><br><br>NUMBER |
| **post\_click\_registrations**<br><br><br>NUMBER |
| **post\_view\_job\_applications**<br><br><br>NUMBER |
| **post\_view\_job\_apply\_clicks**<br><br><br>NUMBER |
| **post\_view\_registrations**<br><br><br>NUMBER |
| **reactions**<br><br><br>INTEGER |
| **registrations**<br><br><br>NUMBER |
| **sends**<br><br><br>INTEGER |
| **shares**<br><br><br>INTEGER |
| **start\_at**<br><br><br>DATE-TIME |
| **talent\_leads**<br><br><br>INTEGER |
| **text\_url\_clicks**<br><br><br>INTEGER |
| **total\_engagements**<br><br><br>INTEGER |
| **video\_completions**<br><br><br>INTEGER |
| **video\_first\_quartile\_completions**<br><br><br>INTEGER |
| **video\_midpoint\_completions**<br><br><br>INTEGER |
| **video\_starts**<br><br><br>INTEGER |
| **video\_third\_quartile\_completions**<br><br><br>INTEGER |
| **video\_views**<br><br><br>INTEGER |
| **viral\_card\_clicks**<br><br><br>INTEGER |
| **viral\_card\_impressions**<br><br><br>INTEGER |
| **viral\_clicks**<br><br><br>INTEGER |
| **viral\_comment\_likes**<br><br><br>INTEGER |
| **viral\_comments**<br><br><br>INTEGER |
| **viral\_company\_page\_clicks**<br><br><br>INTEGER |
| **viral\_document\_completions**<br><br><br>INTEGER |
| **viral\_document\_first\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_document\_midpoint\_completions**<br><br><br>INTEGER |
| **viral\_document\_third\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_download\_clicks**<br><br><br>INTEGER |
| **viral\_external\_website\_conversions**<br><br><br>INTEGER |
| **viral\_external\_website\_post\_click\_conversions**<br><br><br>INTEGER |
| **viral\_external\_website\_post\_view\_conversions**<br><br><br>INTEGER |
| **viral\_follows**<br><br><br>INTEGER |
| **viral\_full\_screen\_plays**<br><br><br>INTEGER |
| **viral\_impressions**<br><br><br>INTEGER |
| **viral\_job\_applications**<br><br><br>NUMBER |
| **viral\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_landing\_page\_clicks**<br><br><br>INTEGER |
| **viral\_likes**<br><br><br>INTEGER |
| **viral\_one\_click\_lead\_form\_opens**<br><br><br>INTEGER |
| **viral\_one\_click\_leads**<br><br><br>INTEGER |
| **viral\_other\_engagements**<br><br><br>INTEGER |
| **viral\_post\_click\_job\_applications**<br><br><br>NUMBER |
| **viral\_post\_click\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_post\_click\_registrations**<br><br><br>NUMBER |
| **viral\_post\_view\_job\_applications**<br><br><br>NUMBER |
| **viral\_post\_view\_job\_apply\_clicks**<br><br><br>NUMBER |
| **viral\_post\_view\_registrations**<br><br><br>NUMBER |
| **viral\_reactions**<br><br><br>INTEGER |
| **viral\_registrations**<br><br><br>INTEGER |
| **viral\_shares**<br><br><br>INTEGER |
| **viral\_total\_engagements**<br><br><br>INTEGER |
| **viral\_video\_completions**<br><br><br>INTEGER |
| **viral\_video\_first\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_video\_midpoint\_completions**<br><br><br>INTEGER |
| **viral\_video\_starts**<br><br><br>INTEGER |
| **viral\_video\_third\_quartile\_completions**<br><br><br>INTEGER |
| **viral\_video\_views**<br><br><br>INTEGER |

### campaign\_groups

The `campaign_groups` table contains info about the campaign groups in your LinkedIn Ads account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | last\_modified\_time |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-campaign-groups?view=li-lms-2022-07&tabs=http#search-for-campaign-groups "Opens in new tab: LinkedIn Ads API method") |

campaign\_groups table foreign keys

| Join campaign\_groups with | on |
| --- | --- |
| [account_users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#account-users) | ```<br>campaign_groups.account_id = account_users.account_id<br>``` |
| [accounts](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#accounts) | ```<br>campaign_groups.account_id = accounts.id<br>``` |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>campaign_groups.account_id = campaigns.account_id<br>```<br><br>```<br>campaign_groups.id = campaigns.campaign_group_id<br>``` |
| [video_ads](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#video-ads) | ```<br>campaign_groups.account_id = video_ads.account_id<br>``` |

campaign\_groups table schema

| **account**<br><br><br>STRING |
| --- |
| **account\_id**<br><br><br>INTEGER |
| **allowed\_campaign\_types**<br><br><br>ARRAY<br><br>This is a nested data structure. |
| **backfilled**<br><br><br>BOOLEAN |
| **change\_audit\_stamps**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>created: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li><li>last_modified: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li></ul> |
| **created\_time**<br><br><br>DATE-TIME |
| **id**<br><br><br>INTEGER |
| **last\_modified\_time**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |
| **run\_schedule**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>end: DATE-TIME</li><li>start: DATE-TIME</li></ul> |
| **serving\_statuses**<br><br>ARRAY<br><br>This is a nested data structure. |
| **status**<br><br><br>STRING |
| **test**<br><br><br>BOOLEAN |
| **total\_budget**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>amount: NUMBER</li><li>currency_code: STRING</li></ul> |

### campaigns

The `campaigns` table contains info about the campaigns in your LinkedIn Ads account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | last\_modified\_time |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-campaigns?view=li-lms-2022-07&tabs=http#search-for-campaigns "Opens in new tab: LinkedIn Ads API method") |

campaigns table foreign keys

| Join campaigns with | on |
| --- | --- |
| [account_users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#account-users) | ```<br>campaigns.account_id = account_users.account_id<br>``` |
| [accounts](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#accounts) | ```<br>campaigns.account_id = accounts.id<br>``` |
| [campaign_groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaign-groups) | ```<br>campaigns.account_id = campaign_groups.account_id<br>```<br><br>```<br>campaigns.campaign_group_id = campaign_groups.id<br>``` |
| [video_ads](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#video-ads) | ```<br>campaigns.account_id = video_ads.account_id<br>``` |
| [creatives](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#creatives) | ```<br>campaigns.id = creatives.campaign_id<br>``` |
| [ad_analytics_by_campaign](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#ad-analytics-by-campaign) | ```<br>campaigns.id = ad_analytics_by_campaign.campaign_id<br>``` |

campaigns table schema

| **account**<br><br><br>STRING |
| --- |
| **account\_id**<br><br><br>INTEGER |
| **associated\_entity**<br><br><br>STRING |
| **associated\_entity\_organization\_id**<br><br><br>INTEGER |
| **associated\_entity\_person\_id**<br><br><br>STRING |
| **audience\_expansion\_enabled**<br><br><br>BOOLEAN |
| **campaign\_group**<br><br><br>STRING |
| **campaign\_group\_id**<br><br><br>INTEGER |
| **change\_audit\_stamps**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>created: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li><li>last_modified: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li></ul> |
| **cost\_type**<br><br><br>STRING |
| **created\_time**<br><br><br>DATE-TIME |
| **creative\_selection**<br><br><br>STRING |
| **daily\_budget**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>amount: NUMBER</li><li>currency_code: STRING</li></ul> |
| **format**<br><br><br>STRING |
| **id**<br><br><br>INTEGER |
| **last\_modified\_time**<br><br><br>DATE-TIME |
| **locale**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>country: STRING</li><li>language: STRING</li></ul> |
| **name**<br><br><br>STRING |
| **objective\_type**<br><br><br>STRING |
| **offsite\_delivery\_enabled**<br><br><br>BOOLEAN |
| **offsite\_preferences**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>iab_categories: OBJECT, which is also a nested data structure.											<ul><li>exclude: ARRAY, which is also a nested data structure.</li><li>include: ARRAY, which is also a nested data structure.</li></ul></li><li>publisher_restriction_files: OBJECT, which is also a nested data structure.											<ul><li>exclude: ARRAY, which is also a nested data structure.</li></ul></li></ul> |
| **optimization\_target\_type**<br><br><br>STRING |
| **pacing\_strategy**<br><br><br>STRING |
| **run\_schedule**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>end: DATE-TIME</li><li>start: DATE-TIME</li></ul> |
| **serving\_statuses**<br><br>ARRAY<br><br>This is a nested data structure. |
| **status**<br><br><br>STRING |
| **targeting**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>excluded_targeting_facets: ARRAY, which is also a nested data structure.											<ul><li>type: STRING</li><li>values: ARRAY, which is also a nested data structure.</li></ul></li><li>included_targeting_facets: ARRAY, which is also a nested data structure.											<ul><li>type: STRING</li><li>values: ARRAY, which is also a nested data structure.</li></ul></li></ul> |
| **targeting\_criteria**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>exclude: OBJECT, which is also a nested data structure.											<ul><li>or: OBJECT, which is also a nested data structure.													<ul><li>urn:li:ad_targeting_facet:followed_companies: ARRAY, which is also a nested data structure.</li><li>urn:li:ad_targeting_facet:seniorities: ARRAY, which is also a nested data structure.</li><li>urn:li:ad_targeting_facet:staff_count_ranges: ARRAY, which is also a nested data structure.</li><li>urn:li:ad_targeting_facet:titles: ARRAY, which is also a nested data structure.</li></ul></li></ul></li><li>include: OBJECT, which is also a nested data structure.											<ul><li>and: OBJECT, which is also a nested data structure.													<ul><li>type: STRING</li><li>values: ARRAY, which is also a nested data structure.</li></ul></li></ul></li></ul> |
| **test**<br><br><br>BOOLEAN |
| **total\_budget**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>amount: NUMBER</li><li>currency_code: STRING</li></ul> |
| **type**<br><br><br>STRING |
| **unit\_cost**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>amount: NUMBER</li><li>currency_code: STRING</li></ul> |
| **version**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>version_tag: STRING</li></ul> |
| **version\_tag**<br><br><br>STRING |

### creatives

The Creatives API contains all the data and information for visually rendering an ad.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | last\_modified\_at |
| **Useful links** | [LinkedIn Ads documentation](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-creatives?view=li-lms-2023-01&tabs=http#search-for-creatives) |

creatives table foreign keys

| Join creatives with | on |
| --- | --- |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>creatives.campaign_id = campaigns.id<br>``` |
| [ad_analytics_by_campaign](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#ad-analytics-by-campaign) | ```<br>creatives.campaign_id = ad_analytics_by_campaign.campaign_id<br>``` |
| [ad_analytics_by_creative](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#ad-analytics-by-creative) | ```<br>creatives.id = ad_analytics_by_creative.creative_id<br>``` |

creatives table schema

| **account**<br><br><br>STRING |
| --- |
| **account\_id**<br><br><br>INTEGER |
| **campaign**<br><br><br>STRING |
| **campaign\_id**<br><br><br>INTEGER |
| **content**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>reference: STRING</li><li>text_ad: OBJECT, which is also a nested data structure.											<ul><li>description: STRING</li><li>headline: STRING</li><li>landing_page: STRING</li></ul></li></ul> |
| **created\_at**<br><br><br>DATE-TIME |
| **created\_by**<br><br><br>STRING |
| **id**<br><br><br>STRING |
| **intended\_status**<br><br><br>STRING |
| **is\_serving**<br><br><br>BOOLEAN |
| **is\_test**<br><br><br>BOOLEAN |
| **last\_modified\_at**<br><br><br>DATE-TIME |
| **last\_modified\_by**<br><br><br>STRING |
| **serving\_hold\_reasons**<br><br><br>ARRAY<br><br>This is a nested data structure. |

### video\_ads

The `video_ads` table contains info about the video ads in your LinkedIn Ads account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | content\_reference |
| **Replication Key** | last\_modified\_time |
| **Useful links** | [LinkedIn Ads API method](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/advertising-targeting/create-and-manage-video?view=li-lms-unversioned&tabs=http&viewFallbackFrom=li-lms-2022-07#finders "Opens in new tab: LinkedIn Ads API method") |

video\_ads table foreign keys

| Join video\_ads with | on |
| --- | --- |
| [account_users](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#account-users) | ```<br>video_ads.account_id = account_users.account_id<br>``` |
| [accounts](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#accounts) | ```<br>video_ads.account_id = accounts.id<br>``` |
| [campaigns](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaigns) | ```<br>video_ads.account_id = campaigns.account_id<br>``` |
| [campaign_groups](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-LinkedIn-Ads.htm#campaign-groups) | ```<br>video_ads.account_id = campaign_groups.account_id<br>``` |

video\_ads table schema

| **account**<br><br><br>STRING |
| --- |
| **account\_id**<br><br><br>INTEGER |
| **change\_audit\_stamps**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li>created: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li><li>last_modified: OBJECT, which is also a nested data structure.											<ul><li>time: DATE-TIME</li></ul></li></ul> |
| **content\_reference**<br><br><br>STRING |
| **content\_reference\_share\_id**<br><br><br>INTEGER |
| **content\_reference\_ucg\_post\_id**<br><br><br>INTEGER |
| **created\_time**<br><br><br>DATE-TIME |
| **last\_modified\_time**<br><br><br>DATE-TIME |
| **name**<br><br><br>STRING |
| **owner**<br><br><br>STRING |
| **owner\_organization\_id**<br><br><br>INTEGER |
| **type**<br><br><br>STRING |