LinkedIn Ads · BYO Setup Guide

Set up your own
LinkedIn Marketing app.

This guide walks you through creating a LinkedIn app and getting it approved for the Marketing Developer Platform — the gated product LinkedIn requires before you can pull ads data. Plan on ~12 minutes of clicking, plus a 1–2 week review by LinkedIn’s developer team. There’s no shortcut around the review — LinkedIn will refuse to issue tokens until the product is approved.

~12 min setup Hard 1–2 weeks review
Use BYO if
  • · You already have a LinkedIn app with Marketing Developer Platform approved
  • · You’re a B2B agency that needs branded consent for client onboarding
  • · You have legal requirements to isolate LinkedIn data to a dedicated app
  • · You manage many LinkedIn ad accounts and want your own rate-limit budget
Stick with shared app if
  • · You can’t wait 1–2 weeks for LinkedIn’s review
  • · You don’t already have Marketing Developer Platform access
  • · You’re only managing one or two LinkedIn ad accounts
  • · You want to be reporting on LinkedIn spend by tomorrow morning

Before you begin

1

Create a LinkedIn developer app

Sign in to linkedin.com/developers/apps and click Create app. LinkedIn will ask for an app name, a Company Page to attach the app to, and a logo. Name it something recognisable like VelaReach-YourCompanyName.

https://www.linkedin.com/developers/apps/new
in LinkedIn Developers · Create an app
↑ Shown on the OAuth consent screen and in your app list.
↑ You must be admin of this page.
[ Upload 100×100 PNG ]
Create app

LinkedIn requires a Company Page you administer — personal pages won’t work.

Don’t have a Company Page? Create one at linkedin.com/company/setup/new first. LinkedIn won’t let you create a developer app without one.
2

Request Marketing Developer Platform access

This is the real gate, and the slowest part of LinkedIn BYO setup. Inside your new app, click the Products tab. You’ll see a long list of LinkedIn API products. Find Marketing Developer Platform and click Request access.

LinkedIn will open a short application form: company info, intended use case (“Connecting our LinkedIn Ads accounts to VelaReach for reporting and automation” works fine), and the volume of API calls you expect.

https://www.linkedin.com/developers/apps/123456789/products
VelaReach-Acme · Products
Available products
in Marketing Developer Platform
Access LinkedIn Ads — campaigns, reporting, audiences, leadgen.
Request access ⏱ Review 1–2 weeks
Sign In with LinkedIn using OpenID Connect
Self-serve — already added to most apps
Share on LinkedIn
Self-serve

Marketing Developer Platform is gated — only this product unlocks ads scopes.

Until LinkedIn approves Marketing Developer Platform, your app cannot request the r_ads, rw_ads, or r_ads_reporting scopes — and OAuth will fail with unauthorized_scope_error. There is no workaround. Wait for the approval email.
3

Wait for the approval email, then add the product

LinkedIn will email the address on your developer account when the review is done. Don’t skip this step: approval grants you eligibility, but you still have to come back and click Add product on the Marketing Developer Platform tile. Once added, the ads scopes appear in your app’s Auth tab.

While you wait, you can still complete Steps 4–5 below (redirect URL + copying credentials). The OAuth flow itself just won’t work yet.
4

Add the VelaReach redirect URL

This is the most common thing to get wrong, so copy carefully. Open the Auth tab in your app. Scroll to the OAuth 2.0 settings section and click the pencil icon next to Authorized redirect URLs for your app. Paste this exact URL:

https://api.velareach.metaminds.store/api/v1/integrations/linkedin/callback
https://www.linkedin.com/developers/apps/123456789/auth
VelaReach-Acme · Auth
● r_ads   ● r_ads_reporting   ● rw_ads   ● r_organization_social
↑ Paste the exact URL above. No trailing slash, HTTPS only.
● Enabled
Update

LinkedIn matches the redirect URL character-for-character. No trailing slash.

90% of BYO failures happen here. If OAuth later returns “redirect_uri does not match the registered redirect URI”, come back and re-paste using the Copy button. LinkedIn is strict about trailing slashes and protocol.
5

Copy your Client ID and Client Secret

On the same Auth tab, scroll to Application credentials at the top. You’ll see Client ID and Client Secret. Click the eye icon to reveal the secret.

https://www.linkedin.com/developers/apps/123456789/auth
VelaReach-Acme · Auth
↑ ~14-char alphanumeric string.
Show ↑ Click to reveal the secret.
● Verified · Marketing Developer Platform approved

Client ID is short and lowercase. Secret is longer and mixed-case.

🔒
Treat the Client Secret like a password. VelaReach encrypts it with AES-256-GCM the moment you submit, and never writes it to logs.
6

Verify the scopes are listed

Before you leave the LinkedIn portal, double-check the OAuth 2.0 scopes on your app. You should see all four of these:

  • · r_ads — read campaign and creative metadata
  • · r_ads_reporting — pull spend and performance metrics
  • · rw_ads — create and update campaigns (for automation rules)
  • · r_organization_social — read company page metadata

If any of these are missing, the Marketing Developer Platform product hasn’t been properly added to your app. Go back to the Products tab and click Add product on Marketing Developer Platform.

7

Paste credentials into VelaReach

Back in VelaReach: SettingsIntegrations → click the LinkedIn Ads card → ManageAdvanced tab → Set up BYO app. The 4-step wizard opens. Click past Intro and Guide, then on Step 3 paste the Client ID and Client Secret from the previous step.

Click Test & save. VelaReach makes a live call to LinkedIn’s API with your credentials and runs 5 validation checks inline.

8

Verify the live test passes and reconnect

You should see green check marks next to:

  • · Credentials format — Client ID and Secret look well-formed
  • · Redirect URL whitelisted — matches your LinkedIn app settings
  • · App exists on platform — LinkedIn returned your app’s name
  • · Marketing Developer Platform attached — all 4 scopes available

Click Reconnect now → to run the OAuth flow through your new app. The LinkedIn consent screen will display your app name and the scopes it’s requesting.

LinkedIn access tokens last 60 days — shorter than most ad platforms. VelaReach refreshes them automatically a week before expiry.

After reconnecting, what changes?

✓ Preserved
  • · All historical spend, impressions, and ROAS data
  • · Your picker selection (which ad accounts are tracked)
  • · Automation rules and budget pacing configs
  • · Scheduled reports and Slack notifications
  • · Every tag, filter, and saved view
✦ Changed
  • · OAuth tokens revoked and re-minted via your app
  • · Card shows violet BYO app pill
  • · Consent screen on future reconnects displays your app name
  • · Audit log records who switched and when
  • · API calls count against your app’s rate limits

Troubleshooting

“unauthorized_scope_error” when running the OAuth flow
Your app is asking for the r_ads family of scopes, but Marketing Developer Platform isn’t approved or attached yet. Go to the Products tab in your LinkedIn app: if Marketing Developer Platform shows Pending review, wait for the approval email. If it shows Available, click Add product — approval and attachment are two separate steps.
“redirect_uri_mismatch” from LinkedIn
The URL on the Auth tab doesn’t exactly match what VelaReach is sending. Open the Auth tab and re-paste using the Copy button above. Watch for trailing slashes, http vs https, and accidental whitespace. LinkedIn matches character-for-character.
My app shows no Marketing scopes even though I just created it
Freshly-created LinkedIn apps don’t expose any ads scopes by default — this is normal. Marketing scopes only appear after you (a) get approved for Marketing Developer Platform and (b) click Add product on the Products tab. Until both happen, the Auth tab shows only basic scopes like openid and profile.
How do I add Marketing Developer Platform to an existing app?
Open your existing app at linkedin.com/developers/apps, click the Products tab, find Marketing Developer Platform in the list, and click Request access. Existing apps go through the same 1–2 week review as new ones. There’s no fast-track.
I want to revert to the shared VelaReach app
In the BYO wizard (or the Advanced tab of the Manage drawer), click Remove BYO. VelaReach wipes the encrypted credentials, flips back to the shared app, and revokes your app’s active tokens. Historical data stays. Click Reconnect once more to mint fresh tokens via the shared app.
💬
Stuck? Email us — we’ll hop on a 15-min screen share.
LinkedIn BYO is the hardest of all the platforms because of the gated Marketing Developer Platform review. Email support@velareach.com with your workspace name + exact error and we’ll pair with you — we can also help draft the use-case description for the LinkedIn application form.