The short answer

LinkedIn Ads is a parent-child hierarchy. In the terminology used throughout this guide, an ad account contains campaign groups, a campaign group contains ad sets, and an ad set contains creatives. The campaign group organizes related work and can control the group’s status, dates, budget, and objective settings. The ad set is where most delivery decisions live: audience targeting, bid strategy, budget, schedule, locale, optimization, and ad format. The creative is the ad itself – the content, copy, destination, call to action, and delivery status associated with an ad set.

Diagram mapping LinkedIn Ads account, campaign group, ad set, and creative to their main controls and delivery gates.

The confusing part is naming. LinkedIn’s newer Campaign Manager interface uses Campaign → Ad set → Ad, while the Marketing API still exposes Campaign Group → Campaign → Creative. HireOtto deliberately says campaign group for the API campaign-group object, ad set for the API campaign object, and creative for the API creative object. The IDs and parent relationships matter more than the label on one screen.

Layer

New Campaign Manager

Marketing API

Primary job

Main controls

Ad account

Ad account

Sponsored account

Top-level boundary

Billing, roles, Page, shared assets

Campaign group

Campaign

Campaign group

Organize related ad sets

Group status, dates, budget, objective

Ad set

Ad set

Campaign

Define delivery strategy

Targeting, budget, bid, schedule, locale, format

Creative

Ad

Creative

Render the ad

Content, copy, destination, CTA, status

The terminology trap: UI labels and API resources

Translation matrix comparing LinkedIn Campaign Manager labels, Marketing API resources, and HireOtto terminology.

LinkedIn began rolling out new Campaign Manager names in October 2025. The functionality did not change, but the labels did:

Old Campaign Manager and API language

Campaign group → Campaign → Creative

New Campaign Manager language

Campaign → Ad set → Ad

HireOtto language

Campaign group → Ad set → Creative

That creates two easy mistakes. First, someone can say “campaign” while referring either to the top organizing container in the new UI or to the targeting-and-budget object in the API. Second, an implementation can confuse an ad set’s ID with its parent campaign-group ID.

Use three checks whenever you move between Campaign Manager, an export, an API response, or an AI tool:

  • Keep the entity type beside every ID.

  • Keep the parent ID beside every child.

  • Confirm the current live hierarchy before proposing a change.

Do not infer object type from a name such as “Q4 Demand Gen.” Different levels can use similar names.

What each level controls

Ad account: access, billing, and shared infrastructure

The ad account is the top-level boundary. It owns billing, user roles, currency, associated Page access, shared audiences, conversion tracking, and other account-level assets. Those settings affect everything beneath the account, but they do not replace the delivery settings on an individual ad set.

Practical rule: select the account by both name and ID. A correct campaign-group or ad-set name inside the wrong account is still the wrong object.

Campaign group: organization and group-level guardrails

A campaign group collects related ad sets. It is useful for grouping work by initiative, objective, region, product, or planning period. Depending on the configuration, it can hold group-level status, dates, total budget, objective, and campaign-budget-optimization settings.

A campaign group does not define the full audience or render an ad. Its main job is to provide organization and parent-level guardrails across the ad sets below it.

Ad set: targeting and delivery strategy

The ad set is the workhorse. LinkedIn’s API calls this object a campaign. It commonly carries:

  • Audience inclusions and exclusions

  • Daily or total budget

  • Schedule

  • Bid strategy and optimization settings

  • Locale and placements

  • Ad format

  • Conversion tracking and URL parameters

This is usually the level to inspect when spend, reach, audience size, pacing, or delivery is wrong. A creative can be perfectly valid and still receive no impressions because the ad set has a restrictive audience, a stale date, an exhausted budget, or a blocked status.

Creative: the ad people see

A creative belongs to an ad set and contains – or points to – the content needed to render the ad. Depending on the format, that can include the image or other content reference, introductory text, headline, destination, call to action, alt text, advertiser identity, and intended status.

Creative and content are related but not always identical. Sponsored Content can reference a post or Direct Sponsored Content object. Publishing or creating that content does not, by itself, mean the ad is delivering. Delivery still depends on the creative, its ad set, its campaign group, the account, review eligibility, dates, and budgets.

Where a change belongs

Use the symptom to identify the likely layer:

  • The whole initiative should stop → campaign group status or group-level dates/budget

  • One audience should change → ad set targeting

  • One segment needs more or less spend → ad set budget or bid settings

  • The message, image, headline, or destination is wrong → creative or its content reference

  • No objects can serve or a user cannot write → ad-account status, billing, role, or Page permissions

These are starting points, not permission to edit. Always read the affected object and its parent before changing it.

Status is a chain, not a single switch

A child marked ACTIVE does not prove that it can serve. LinkedIn evaluates the whole path. Effective delivery can be blocked by account holds, campaign-group dates or budget, ad-set dates or budget, audience size, creative eligibility, Page permissions, or platform review.

The common planning states – DRAFT, PAUSED, and ACTIVE – answer only part of the question. Treat requested status, effective serving status, and serving reasons as separate fields:

  • Requested status: what the operator asked the object to be.

  • Effective status: whether LinkedIn currently considers it eligible to serve.

  • Serving reasons: why delivery is held, limited, stopped, or pending.

Before activation, inspect the group, ad set, and creative together. Activating one child while its parent remains in draft or paused will not make the hierarchy deliver.

A worked B2B example

Suppose a software company is promoting an enterprise webinar to finance leaders in the United States and United Kingdom.

Campaign group

Name: Enterprise Webinar – Q1. It groups the initiative, supplies parent-level dates and status, and may hold a total budget or objective configuration.

Ad set

Name: US + UK Finance Leaders. It defines geography, job function, seniority, company size, exclusions, daily budget, schedule, bid strategy, optimization goal, locale, and ad format.

Creatives

Creative A uses a practical “CFO reporting checklist” angle. Creative B leads with the webinar speakers. Each has its own copy, visual, destination, call to action, and status, but both inherit the same audience and delivery strategy from the ad set.

If the audience is too small, fix the ad set. If both ads should stop, pause the parent scope that matches the operating decision. If only Creative B has a broken URL, change Creative B – not the ad set and not its sibling.

A safe hierarchy review workflow

1. Resolve the account

Confirm the ad account name, numeric ID, currency, connected role, and write capability.

2. Read the tree

List campaign groups, the ad sets under each group, and the creatives under each ad set. Include IDs, parent IDs, statuses, dates, budgets, formats, and serving information where available.

3. Translate the labels

State both the marketer-facing label and the underlying object type. For example: “Ad set (LinkedIn API campaign).”

4. Locate the control

Match the requested change to the level that owns it. Do not change a parent to solve a child-specific problem – or replace the full targeting configuration to add one exclusion.

5. Show the exact diff

Present current value, proposed value, object ID, parent ID, likely delivery effect, and rollback approach. For targeting, show the complete resulting include/exclude logic and a fresh audience estimate.

6. Validate, approve, write, and read back

Use validation when the workflow supports it, but do not treat validation as a guarantee of platform acceptance. Obtain human approval, apply only the approved change, then read the live objects back. Multi-object workflows may partially succeed, so preserve returned IDs and resume from the failed step instead of rerunning the entire hierarchy.

Copyable hierarchy prompt

For LinkedIn Ads account [ACCOUNT_ID], map the current hierarchy as campaign group → ad set → creative. For every object, return its name, ID, parent ID, requested status, effective serving status or reasons where available, dates, budget, targeting scope, ad format, and destination. Explicitly label each ad set as the object LinkedIn’s API calls a campaign. Do not change anything. Flag orphaned IDs, blocked parents, duplicated names, and any place where the UI label could be confused with the API resource.

How HireOtto helps with this workflow

HireOtto can discover accessible LinkedIn Ads accounts, return the connected role and write capability, map the account hierarchy, read individual campaign groups, ad sets, and creatives, and report performance at each level. That makes it useful for orientation, ID resolution, review, and troubleshooting before any change.

For supported campaign work, HireOtto can validate a proposed configuration, create or reuse a campaign group, create an ad set, upload or reuse an eligible image, and create a supported single-image creative. It can also apply supported updates after approval. Creation defaults to draft behavior, but drafts are not a substitute for reviewing objective, targeting, budget, dates, copy, destination, tracking, and Page identity.

Keep two human gates. First, approve the exact hierarchy and diff before any write. Second, preview the rendered ad and platform warnings in Campaign Manager before activation. Viewer access is read-only; write actions need a sufficient ad-account role, and some Sponsored Content workflows also require LinkedIn Page access. A hierarchy create is not transactional, so a child failure can leave already-created parents in place.

Read the LinkedIn Ads tools reference, follow the draft campaign creation guide, and use the LinkedIn Ads quickstart to connect and verify your account.

Frequently asked questions

Is a LinkedIn campaign group the same as a campaign?

In the newer Campaign Manager UI, the top organizing layer is called a campaign. In the API, the equivalent resource remains a campaign group. Always check the resource type and ID rather than relying on the word “campaign.”

Is a LinkedIn ad set the same as an API campaign?

Yes. LinkedIn’s newer UI calls the targeting-and-budget object an ad set, while the Marketing API continues to call it a campaign. HireOtto uses “ad set” for that API campaign object.

Where does LinkedIn Ads targeting live?

Targeting lives on the ad set/API campaign. The creative inherits that audience; it does not define a separate audience of its own.

Where do budget and schedule live?

Ad-set/API-campaign budget and schedule control that delivery unit. Campaign groups can also provide parent-level budget, dates, or optimization controls, depending on configuration. Both layers can affect whether a child serves.

Can an active creative serve under a paused parent?

No. A creative’s status is only one gate. The account, campaign group, ad set, creative, dates, budget, audience, review state, and permissions must all allow delivery.

Does creating a draft LinkedIn ad guarantee that nothing is published?

No. Draft status controls the advertising object’s lifecycle, but some Sponsored Content workflows may create or reference a published content object. Publishing content and delivering an ad are different events. Review the content, creative, and full parent chain before activation.

About Me

I’m Suyash – badminton junkie, ex‑GroupM ad‑ops grunt, first marketer at a B2B SaaS startup, and creator of Hiretto: MCP servers for performance marketers.

My mission: less clicking, more thinking.

Let’s build leverage together.

Reply

Avatar

or to participate