The short answer

A LinkedIn Ads campaign usually fails to deliver for one of two reasons: it is not eligible to enter the auction, or it is eligible but not winning enough auctions. Diagnose those in that order.

Start with the account and work down the hierarchy: account → campaign group → ad set → ad. Only after every layer is eligible should you investigate audience size, bid competitiveness, budget, and creative response. This prevents a common failure mode: changing several optimization levers when a paused parent, future start date, account hold, or rejected ad is the real blocker.

Table of Contents

First, define “not delivering”

The symptom determines the investigation. “Zero impressions since launch,” “spend stopped yesterday,” and “active but barely spending” are different problems.

  • Zero impressions from launch usually points to eligibility, scheduling, review, access, or audience-size issues.

  • Delivery that stopped on a known date usually points to a completed schedule, exhausted group budget, paused parent, account hold, or creative-status change.

  • Some impressions but low spend usually means the setup is eligible and the next checks are auction competitiveness, audience reach, bid strategy, and inventory.

  • Impressions without clicks is primarily a message, offer, format, or audience-fit problem – not proof that the campaign is failing to deliver.

Use complete reporting dates in the ad account’s time zone. A brand-new or edited ad may still be in review; LinkedIn says most ads are reviewed within 24 hours. An empty report is a symptom, not a diagnosis.

The seven-layer LinkedIn Ads delivery check

1. Confirm the ad account can serve

Verify that you selected the intended account and inspect its account status and serving status. If delivery is down across every campaign, check for an account hold before debugging individual ad sets. Billing or missing payment information is a common cause, and only a billing admin can resolve payment issues in Campaign Manager.

Also verify your role. Viewer access is useful for diagnosis but cannot make changes. A successful connection does not override LinkedIn account or Page permissions.

2. Check the campaign group

The campaign group must be active and within its run dates. Confirm that a group-level total or daily budget has not been reached and that group-level budget optimization is not constraining the child ad set. A healthy ad set cannot serve through a paused, completed, archived, or budget-limited parent.

3. Check the ad set

Inspect the ad set’s intended status and serving statuses, not just its name in a dashboard. Confirm that it is active, its start date has arrived, its end date has not passed, and its budget is available. LinkedIn’s own delivery guidance says the campaign, ad set, and ad must all be active for an ad to display.

If the ad set stopped recently, compare the stop time with the schedule and budget. If it never started, look for a future date, draft status, parent blocker, or audience eligibility issue.

4. Validate the audience

LinkedIn requires a location and at least 300 members for an ad set to launch. That is an eligibility floor, not a performance target. LinkedIn broadly recommends an audience of at least 50,000 members for results, but the useful range depends on objective, market, budget, and the precision of the buying committee.

Resolve targeting values to real LinkedIn entities and estimate the combined audience. Values inside one facet generally expand reach, while stacking distinct included facets narrows it. A directional estimate of zero can also reflect privacy thresholds, so do not treat the estimate alone as proof that the ad set is technically broken.

5. Inspect every ad and creative

An active ad set still needs at least one ad that is approved and serving. Review each creative’s intended status, serving state, review status, and hold reasons. Common blockers include an ad still in review, a rejected ad, invalid destination URL, image-processing error, missing Lead Gen Form, or a paused creative.

Do not assume that “active” at the ad-set level guarantees an eligible ad underneath it. If you recently replaced creative, confirm the replacement is approved before pausing the old ad.

6. Evaluate bid and budget competitiveness

Only move here after eligibility is clean. LinkedIn auctions do not guarantee delivery. With manual bidding or a restrictive cost cap, a low bid can limit impressions even when the setup is valid. Maximum delivery is designed to spend the available budget, while cost cap and manual strategies trade spend for tighter cost control.

Compare the bid or cap with LinkedIn’s suggested range and recent auction conditions. Make one controlled change at a time. Increasing budget will not fix a paused parent, rejected ad, account hold, or sub-300 audience.

7. Read the report in context

Once the hierarchy is eligible, compare the latest complete period with the preceding equal-length period. Review impressions, spend, clicks, landing-page clicks, conversions, and frequency. Zero impressions indicates an upstream eligibility or auction issue. Impressions with weak engagement indicates the campaign is entering auctions but the audience-message combination needs work.

Be cautious with fresh launches and recent edits. Changing targeting, bidding, or creative can disrupt learning, and professional-demographic reporting can be delayed or privacy-suppressed.

A fast symptom-to-check guide

  • Zero impressions from launch → Check account hold, parent and child status, dates, audience eligibility, and ad review.

  • Delivery stopped suddenly → Check completed dates, exhausted group budget, paused parent, billing hold, and creative status.

  • Active but spending slowly → Confirm eligibility, then inspect audience reach, bid or cost cap, and auction competitiveness.

  • Impressions but no clicks → Review message, offer, format, placement, and audience fit before raising bids.

  • One ad set is affected → Diagnose its targeting, ads, dates, and bid; do not start with account-wide changes.

  • Every ad set is affected → Start with account status, billing, shared parent constraints, and permissions.

Copy this read-only diagnostic prompt

Diagnose why my LinkedIn Ads campaign is not delivering. Do not make any changes.

1. Confirm the exact ad account, campaign group, ad set, and ads by both name and ID.

2. Inspect the account status, serving status, my role, and whether write access is available.

3. Map the hierarchy and report the campaign group, ad set, and creative statuses, serving statuses, dates, budgets, bid strategy, bid or cost cap, and any hold reasons.

4. Validate the targeting values and estimate the combined audience size. Explain whether the audience is eligible and whether the estimate is only directional.

5. Check every ad’s intended status, review status, serving state, destination details, and hold reasons.

6. Compare the last 14 complete days with the preceding 14 complete days for impressions, spend, clicks, landing-page clicks, conversions, and frequency.

7. Classify each finding as Confirmed blocker, Possible constraint, or Not observed.

8. Return a ranked action queue. Separate actions HireOtto can perform from checks that must be completed in Campaign Manager. Ask for explicit approval before any change.

Fix the narrowest blocker first

Do not change the budget, bid, targeting, and creative together. Fix the first failing layer, verify that it now serves, then move down the chain. This preserves a usable causal signal and makes rollback easier.

A sensible sequence is: resolve account or billing issues → activate eligible parents and children → correct schedule → approve or replace blocked ads → restore audience eligibility → adjust bid or cost cap → test creative and landing-page fit.

How HireOtto helps you diagnose without guessing

HireOtto can orient the AI assistant to the correct LinkedIn ad account, show your role and write capability, map campaign groups, ad sets, and creatives, and surface statuses, dates, budgets, bidding settings, review state, serving state, and hold reasons. It can also resolve targeting entities, estimate the combined audience, and compare structured performance periods.

The safest first pass is read-only. After you review the evidence, HireOtto can support controlled updates to supported statuses, dates, budgets, bids, targeting, and creative workflows. Keep each change behind explicit approval, especially when a full targeting payload or activation state is involved.

Some steps remain outside the connector: a billing admin must resolve payment holds in Campaign Manager; policy appeals and some Page-permission issues require LinkedIn; audience estimates are directional; and HireOtto does not validate the live destination page, Insight Tag, or downstream tracking. It also cannot guarantee auction delivery.

Get started with the LinkedIn Ads quickstart and confirm current boundaries in the HireOtto feature and entitlement matrix.

Frequently asked questions

How long does LinkedIn ad review take?

LinkedIn says most ads are reviewed within 24 hours. A new or edited ad can remain in review longer, so check its review and serving status before changing bids or budgets.

Why does an active LinkedIn ad set have zero impressions?

“Active” at one layer is not enough. The account, campaign group, ad set, and at least one ad must all be eligible. Then validate schedule, audience size, creative review, bid competitiveness, and reporting dates.

Is an audience of 300 large enough?

Three hundred members is LinkedIn’s minimum eligibility threshold. It is not a recommendation for reliable delivery. A narrow audience may still be strategically correct, but expect less inventory and more volatile pacing.

Will raising the budget fix delivery?

Only if budget is the real constraint. More budget will not repair an account hold, paused parent, future start date, ineligible audience, rejected ad, or uncompetitive manual bid.

Can HireOtto remove a LinkedIn ad-account hold?

No. HireOtto can help surface the account state, but billing and account-hold resolution must be completed by an authorized user in LinkedIn Campaign Manager.

About Me

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

My mission: less clicking, more thinking.

Let’s build leverage together.

Reply

Avatar

or to participate