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.

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

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
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.

