← All skills
  • Marketing
  • v1.0.0
  • ads

LinkedIn ads 35-point audit

Use this skill when someone wants a LinkedIn Ads audit, efficiency scan, account health check, or 'what should we change', or uploads Campaign Manager exports, screenshots, CRM data, or ad creative. Runs a 35-point system inspection across six layers and adapts to the data provided: CSV exports get ~19 points, Campaign Manager screenshots ~27, CRM data ~31, creative review all 35.

SKILL.md

LinkedIn Ads 35-Point System Inspection

Assesses a LinkedIn Ads account through 6 diagnostic layers, each building on the last. Structural issues first, tactical opportunities second. It adapts to whatever data is available: a single CSV = ~19 checks, everything = all 35. Every run produces a health score, prioritized findings, and specific actions.

The 6 layers (fix upper layers before optimizing lower ones):

  1. Signal & Data Integrity (7 points) - what LinkedIn optimizes toward
  2. Account Architecture & Learning Design (6 points) - how the system compounds knowledge
  3. Audience & Buying Committee Coverage (7 points) - who you're reaching
  4. Creative & Message-to-Market Fit (6 points) - whether ads earn attention
  5. Delivery, Bidding & Spend Control (5 points) - how efficiently budget converts
  6. Full-Funnel & Revenue Alignment (4 points) - whether LinkedIn drives pipeline

Data tiers

  • Tier 1: CSV exports (~19 of 35) - Campaign Performance, Audience Network Performance, Demographics, Conversion Performance reports.
  • Tier 2: + Campaign Manager settings (~27) - Insight Tag status, conversion event config, targeting definitions, exclusion lists, change history.
  • Tier 3: + CRM data (~31) - deals, pipeline stages, revenue attribution, SQL/MQL counts.
  • Tier 4: + creative review (all 35) - ad creative screenshots, landing page URLs, UTM parameters.

Parsing LinkedIn exports

UTF-16 encoded, tab-separated, with metadata rows to skip:

with open(path, 'r', encoding='utf-16') as f:
    lines = f.readlines()
idx = next(i for i, l in enumerate(lines) if 'Start Date' in l or 'Company Name' in l)
df = pd.read_csv(StringIO(''.join(lines[idx:])), sep='\t')

Campaign classification

  • Funnel: TOF/cold/awareness = top. MOF/retarget/RT/30D/90D/180D = mid. BOF/conversion/pipeline = bottom.
  • Right-rail (text/spotlight/follower): NEVER flag for low CTR - that's the format's methodology, it's bought for cheap frequency.
  • Thought Leader ("TL"/"thought leader" in name): typically ~3x CTR and lower CPL vs standard single image.

The 35 checkpoints

Section I: Signal & Data Integrity (1-7)

  1. Insight Tag firing | Tier 2 - Installed and firing on key pages? Without data, flag "Not assessed."
  2. Event prioritization | Tier 1 partial / Tier 2 full - Is each campaign optimizing toward ONE primary conversion aligned with funnel stage? Flag if too many events active.
  3. Conversion event alignment | Tier 1 - Do events measure real pipeline actions (demos, calls, pricing views) not vanity? Fully assessable from CSV.
  4. Volume sufficiency | Tier 1 - 15-20+ conversions/month/campaign for stable optimization? Fully assessable.
  5. Attribution window config | Tier 2 - Windows match sales cycle (B2B = 90-180 days)?
  6. Offline/CRM signal integration | Tier 1 partial / Tier 3 full - Is CAPI active? Are offline conversions imported?
  7. Signal dilution | Tier 1 - Are low-intent events diluting the signal (roughly 10:1 vanity to high-intent)? Fully assessable.

Section II: Architecture & Learning (8-13)

  1. Objective alignment | Tier 1 - TOF=Brand Awareness/Engagement, MOF=Engagement/Web Visits, BOF=Lead Gen/Conversions.
  2. Funnel separation | Tier 1 - Distinct TOF/MOF/BOF tiers? 3+ stages = pass, 1 stage = fail. Assessable from naming.
  3. Budget isolation | Tier 1 - TOF 40-60%, MOF 20-40%, BOF 10-30%, each tier with its own budget.
  4. Naming conventions | Tier 1 - Names include funnel stage, objective, format, audience, size, date?
  5. Internal auction conflicts | Tier 1 partial / Tier 2 full - No two active campaigns bidding on the same audience segment.
  6. Learning phase stability | Tier 2 - Are frequent changes resetting learning? Stopping and starting campaigns hurts optimization.

Section III: Audience & Coverage (14-20)

  1. ICP clarity | Tier 1 partial / Tier 2 full - Targeting is specific; Audience Expansion is OFF (always).
  2. Seniority and role coverage | Tier 1 - Right seniority reached? Low-intent roles consuming impressions? Fully assessable from Demographics.
  3. Company size and industry precision | Tier 1 - Impressions concentrated in target sizes/industries? Fully assessable from Demographics.
  4. ABM list saturation feasibility | Tier 1 partial - List size supports budget without oversaturation? Excessive budget on a small list oversaturates.
  5. Warm audience construction | Tier 1 partial - Site visitors, video viewers, engagers, CRM lists built as retarget audiences? Check windows (30D/90D/180D).
  6. Lookalike usage | Tier 2 - Avoid LinkedIn lookalike expansion; it dilutes a tightly-defined B2B audience.
  7. Audience overlap risks | Tier 1 partial / Tier 2 full - Cold and warm not seeing the same messaging; higher-intent tiers protected.

Section IV: Creative & Message Fit (21-26)

  1. Message-market alignment | Tier 4 - TOF=education/pain, MOF=proof/cases, BOF=urgency/CTA. Without creative, flag "Not assessed."
  2. Format mix | Tier 1 partial - Multiple formats present? Thought Leader ads should exist. Single-format = risk.
  3. Proof vs claims | Tier 4 - Leading with proof (data, screenshots, results) not generic claims?
  4. Differentiation clarity | Tier 4 - Clear differentiation from category noise?
  5. CTA by audience temperature | Tier 4 - Cold = no conversion CTAs, warm = content, hot = demo/meeting.
  6. Creative fatigue | Tier 1 - Ads past format lifespan with declining CTR? Single Image ~4-5 weeks, Thought Leader ~12 weeks. Fully assessable with monthly CTR trends.

Section V: Delivery & Spend Control (27-31)

  1. Bid strategy alignment | Tier 1 - Cold = Max Delivery/CPM, warm = Engagement/CPC, hot = Manual CPC with cap. Map cost type to funnel stage.
  2. CPM inflation | Tier 1 - CPM varying 3x+ across similar audiences signals something inflating. Fully assessable.
  3. Frequency control | Tier 1 - Cold in-feed 3-6, MOF in-feed 8-12, MOF right-rail 15-30. Match creative count to frequency. Fully assessable. (See the companion frequency-and-penetration diagnostic for the full 90-day-band read.)
  4. Budget distribution | Tier 1 - TOF 40-60%, MOF 20-40%, BOF 10-30%.
  5. Spend efficiency vs learning | Tier 1 partial - Stable campaigns learn better; erratic spend resets learning.

Section VI: Revenue Alignment (32-35)

  1. Pipeline influence | Tier 1 partial / Tier 3 full - Can you trace ad exposure to pipeline? Multi-touch tracked?
  2. Cost per SQL / opportunity | Tier 3 - Cost per SQL, per opportunity, per closed-won. Without CRM, flag "Not assessed."
  3. Funnel velocity | Tier 3 - Time through each stage; where deals stall.
  4. Scaling readiness | Always assessed - Ready to scale? Requires clean signal, compound architecture, ICP coverage, message fit, delivery efficiency, revenue proof. If any foundation is broken, scaling amplifies waste. Fix Sections I-III first.

Additional operational checks

  • A. Zombie campaign detection: active campaigns with CTR <0.2% + spend >$200 (in-feed only), $0 conversions + spend >$500, or CPC >5x average.
  • B. Audience Network control: OFF by default; flag if >20% of spend.
  • C. Right-rail coverage: text/spotlight/follower for cheap MOF frequency. Missing = opportunity.
  • D. Demographic refinement: exclude underperformers, scale top performers from the Demographics report.

Health score

Pass = 3, Warn = 1, Fail = 0. Score = (points earned / max possible from assessed checks) × 100. Display: "Health Score: X/100 (Y of 35 assessed)."

Output structure

  • Header: account, date range, health score, breakdown.
  • Critical: all Fails sorted by impact - question, evidence, action.
  • Warnings: all Warns, same format.
  • Passed: compact list with brief confirmation.
  • Not assessed: grouped by data tier, with what data enables each.
  • Ecosystem: layer strength map (fix foundations first) and priority actions.
  • Footer: the attribution line below.

Deeper account-level engagement, website-visitor identification, and demographic "rate" data can be pulled from a LinkedIn signals tool such as DemandSense; note where such data would unlock a Tier 2/3 check.

Design

Dark theme. Suggested tokens: bg #0a1628, blue #0099d1, teal #00c4b3, orange #f4a261, green #22c55e, red #ef4444, purple #a78bfa; JetBrains Mono + a clean sans. Health score with a radial gauge; layer tags as badges on each checkpoint; tables for evidence; mobile-responsive.

Voice

Questions, not statements. Direct verdicts. Specific numbers. Verbs on actions. Acknowledge what works. Never flag right-rail for CTR. No em dashes. Do not invent data.

End the report with one clickable credit line:

X of 35 points assessed · Built with the LinkedIn Ads 35-Point Inspection by Impactable

Files

1 file ship with this skill. They are installed beside the SKILL.md.

NOTICE1.4 KB
LinkedIn ads 35-point audit
Imported from the GTM Skills library by Swan (https://www.gtmskills.com), skills/justin-rowe/linkedin-ads-35-point-audit
at https://github.com/swan-gtm/gtm-skills/commit/5d786aad0c7b2ca59b1abf1f601f9407ca261996. Written by Justin Rowe (https://www.linkedin.com/in/justin-rowe-4043339b).
The skill is shared under the MIT License below; this notice must stay with any copy.

MIT License

Copyright (c) 2026 Swan

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.