Follower Ads API
Warning
Deprecation Notice
The Marketing Version 202310 (Marketing October 2023) and earlier versions (excluding 202306 and 202307) have been sunset. Additionally, the unversioned APIs will be sunset soon. We recommend that you migrate to the versioned APIs as well as migrate to the new Content and Community Management APIs to avoid disruptions. See the Migration page for more details.
If you haven’t yet migrated and have questions, submit a request on the LinkedIn Developer Support Portal.
Linkedin is introducing its next generation of APIs for the creation and management of Dynamic Follower Ads.
This ad format replaces the previous /adCreativesV2 ad format for follower ads.
Permissions
Permission | Possible Values |
---|---|
rw_ads | Manage and read an authenticated member's Ad Accounts. In addition, authenticated member must have READ access for a Company Page and have one of the following Ad Account roles: ACCOUNT_BILLING_ADMIN ACCOUNT_MANAGER CAMPAIGN_MANAGER CREATIVE_MANAGER |
r_ads | Read an authenticated member's Ad Account. Restricted to Ad Accounts in which the authenticated member has one of the following Ad Account roles. ACCOUNT_BILLING_ADMIN ACCOUNT_MANAGER CAMPAIGN_MANAGER CREATIVE_MANAGER VIEWER |
Workflow
Note
Starting 202410, a new name
field is introduced in Creative schema. Going forward, this new name
field is the preferred approach to set and get the creative's name, consistently across all ad formats.
Typical workflow to create dynamic follower ad format is as follows:
- Upload an image asset. At present, LinkedIn partners are using Assets API to upload images. The new Image API replaces the Assets API, with simplified and consistent schema. Refer to Images API for more information.
- Create a Dynamic Ads Campaign. See Dynamic Ad Campaigns.
- Design a Creative. The new Creatives API replaces the /adCreativesV2 API, and features dynamic follower ad format fields for easier creative design and development. For more details in schema section below.
Schema
Field | Type | Description | Required |
---|---|---|---|
description | Either a preApproved string or a custom string | The description is text at the top of the ad. It provides more information to people who see the ad. It can follow either of the following formats:
|
Yes |
showMemberProfilePhoto | boolean | Boolean value that helps decide whether to display profile photo of member in the follower ad or not. Default true. | No |
headline | Either a preApproved string or a custom string | The headline is bold text displayed right beneath the image or logo. It is the main message seen by the target audience. It can follow either of the following formats:
|
Yes |
logo | ImageUrn | Company logo. This may differ from the logo on the official company page. If not present on create, the logo from company page is used. This is optional on creates, but will always be present on reads. Setting it to null on update would default to the logo from company page. | No |
organizationName | string | Company name to use in the ad. This may differ from the name on the official company page. If not present on create, the company name from company page is used. This is optional on creates, but will always be present on reads. Setting it to null on update would default to the name from company page. | No |
callToAction | string | The call-to-action (CTA) is what you want your target audience to do after seeing your ad. Possible values:
|
Yes |
Prerequisite Values
Attribute | Possible Values |
---|---|
Campaign Type | DYNAMIC |
Campaign Format | FOLLOW_COMPANY |
Creative Type | FOLLOW_COMPANY_V2 |
Objective Type | BRAND_AWARENESS, ENGAGEMENT |
Create a Dynamic Follower Ad Creative
Sample Request
POST https://api.linkedin.com/rest/creatives
{
"content": {
"follow": {
"organizationName": "Test Company Name",
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"description": {
"preApproved": "GET_LATEST_JOBS_AND_INDUSTRY_NEWS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
},
"campaign": "urn:li:sponsoredCampaign:190492324",
"intendedStatus": "DRAFT"
}
A successful response returns a 201 Created HTTP
status code and the ID in the x-linkedin-id
response header. For example, urn:li:sponsoredCreative:164380864
Get a Dynamic Follower Ad
Sample Response
{
"createdAt": 1646177413000,
"servingHoldReasons": [
"STOPPED",
"CAMPAIGN_STOPPED"
],
"lastModifiedAt": 1646177413000,
"isTest": false,
"createdBy": "urn:li:person:B1U4S2MZ-C",
"isServing": false,
"lastModifiedBy": "urn:li:person:B1U4S2MZ-C",
"campaign": "urn:li:sponsoredCampaign:190492324",
"id": "urn:li:sponsoredCreative:164380864",
"intendedStatus": "DRAFT",
"account": "urn:li:sponsoredAccount:508915158",
"content": {
"follow": {
"description": {
"preApproved": "GET_LATEST_JOBS_AND_INDUSTRY_NEWS"
},
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"showMemberProfilePhoto": true,
"organizationName": "Test Company Name",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE"
}
}
}
A successful response returns a HTTP 200
status code.
Update a Dynamic Follower Ad
POST https://api.linkedin.com/rest/creatives/{sponsoredCreative-urn}
{
"patch": {
"$set": {
"content": {
"follow": {
"organizationName": "Test Company Name",
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"preApproved": "MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS"
},
"description": {
"custom": "custom_description"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
}
}
}
}
A successful response returns a 204 No Content
HTTP status code.
Delete a Dynamic Follower Ad
A successful response returns a 204 No Content
.
Batch Create Dynamic Follower Ads
POST https://api.linkedin.com/rest/creatives
{
"elements": [
{
"content": {
"follow": {
"organizationName": "Test Company Name",
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"description": {
"preApproved": "GET_LATEST_JOBS_AND_INDUSTRY_NEWS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
},
"campaign": "urn:li:sponsoredCampaign:190492324",
"intendedStatus": "DRAFT"
},
{
"content": {
"follow": {
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"description": {
"custom": "custom description"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
},
"campaign": "urn:li:sponsoredCampaign:190492324",
"intendedStatus": "DRAFT"
}
]
}
Sample Response
{
"elements": [
{
"location": "/partnerApiCreatives/urn%3Ali%3AsponsoredCreative%3A164385234",
"status": 201,
"id": "urn:li:sponsoredCreative:164385234"
},
{
"location": "/partnerApiCreatives/urn%3Ali%3AsponsoredCreative%3A164385244",
"status": 201,
"id": "urn:li:sponsoredCreative:164385244"
}
]
}
Batch Get Dynamic Follower Ads
GET https://api.linkedin.com/rest/creatives?ids=List({sponsoredCreative-urn1},{sponsoredCreative-urn2})
Sample Response
{
"results": {
"urn:li:sponsoredCreative:164385244": {
"createdAt": 1646181778000,
"servingHoldReasons": [
"STOPPED",
"CAMPAIGN_STOPPED"
],
"lastModifiedAt": 1646181778000,
"isTest": false,
"createdBy": "urn:li:person:B1U4S2MZ-C",
"isServing": false,
"lastModifiedBy": "urn:li:person:B1U4S2MZ-C",
"campaign": "urn:li:sponsoredCampaign:190492324",
"id": "urn:li:sponsoredCreative:164385244",
"intendedStatus": "DRAFT",
"account": "urn:li:sponsoredAccount:508915158",
"content": {
"follow": {
"description": {
"custom": "custom description"
},
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"showMemberProfilePhoto": true,
"organizationName": "Italian Devtestco..",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE"
}
}
},
"urn:li:sponsoredCreative:164385234": {
"createdAt": 1646181778000,
"servingHoldReasons": [
"STOPPED",
"CAMPAIGN_STOPPED"
],
"lastModifiedAt": 1646181778000,
"isTest": false,
"createdBy": "urn:li:person:B1U4S2MZ-C",
"isServing": false,
"lastModifiedBy": "urn:li:person:B1U4S2MZ-C",
"campaign": "urn:li:sponsoredCampaign:190492324",
"id": "urn:li:sponsoredCreative:164385234",
"intendedStatus": "DRAFT",
"account": "urn:li:sponsoredAccount:508915158",
"content": {
"follow": {
"description": {
"preApproved": "GET_LATEST_JOBS_AND_INDUSTRY_NEWS"
},
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"showMemberProfilePhoto": true,
"organizationName": "Test Company Name",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE"
}
}
}
},
"statuses": {
"urn:li:sponsoredCreative:164385244": 200,
"urn:li:sponsoredCreative:164385234": 200
},
"errors": {}
}
Batch Update Dynamic Follower Ads
POST https://api.linkedin.com/rest/creatives?ids=List({sponsoredCreative-urn1},{sponsoredCreative-urn2})
{
"entities": {
"urn:li:sponsoredCreative:{sponsoredCreative-urn1}": {
"patch": {
"$set": {
"content": {
"follow": {
"organizationName": "Test Company Name",
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"custom": "custom_headline1"
},
"description": {
"preApproved": "GET_LATEST_JOBS_AND_INDUSTRY_NEWS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
}
}
}
},
"urn:li:sponsoredCreative:{sponsoredCreative-urn2}": {
"patch": {
"$set": {
"content": {
"follow": {
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"description": {
"custom": "custom description2"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE",
"showMemberProfilePhoto": true
}
}
}
}
}
}
}
Sample Response
{
"results": {
"urn:li:sponsoredCreative:164385244": {
"status": 204
},
"urn:li:sponsoredCreative:164385234": {
"status": 204
}
},
"errors": {}
}
Batch Delete Dynamic Follower Ads
DELETE https://api.linkedin.com/rest/creatives?ids=List({sponsoredCreative-urn1},{sponsoredCreative-urn2})
Sample Response
{
"results": {
"urn:li:sponsoredCreative:164385244": {
"status": 204
},
"urn:li:sponsoredCreative:164385234": {
"status": 204
}
},
"errors": {}
}
Finders for Dynamic Follower Ads
GET https://api.linkedin.com/rest/creatives?campaigns=List(urn%3Ali%3AsponsoredCampaign%3A164382034)&intendedStatuses=List(ACTIVE)&q=criteria&sortOrder=ASCENDING
Sample Response
{
"paging": {
"start": 0,
"count": 10,
"links": [],
"total": 1
},
"elements": [
{
"servingHoldReasons": [
"UNDER_REVIEW",
"CAMPAIGN_STOPPED"
],
"lastModifiedAt": 1646180655000,
"lastModifiedBy": "urn:li:system:0",
"content": {
"follow": {
"description": {
"custom": "custom description2"
},
"logo": "urn:li:image:C5522AQEomekaeMS6eQ",
"showMemberProfilePhoto": true,
"organizationName": "Italian Devtestco..",
"headline": {
"preApproved": "GROW_YOUR_BUSINESS_INSIGHTS"
},
"callToAction": "VISIT_ORGANIZATION_COMPANY_PAGE"
}
},
"createdAt": 1646179904000,
"isTest": false,
"createdBy": "urn:li:person:B1U4S2MZ-C",
"review": {
"status": "NEEDS_REVIEW"
},
"isServing": false,
"campaign": "urn:li:sponsoredCampaign:190492324",
"id": "urn:li:sponsoredCreative:164382034",
"intendedStatus": "ACTIVE",
"account": "urn:li:sponsoredAccount:508915158"
}
]
}
Error Messages
General creative errors are included here - Creatives error.