Skip to content
Marketing
Skill

/deepline-ads-audiences

Use this skill when building, enriching, auditing, or uploading B2B paid ads audiences to Google Customer Match, Meta/Facebook Custom Audiences, or LinkedIn Matched Audiences. Triggers on phrases like '/deepline-ads-audience', '/deepline-ads-audiences', 'upload this audience',

From plugin
gtm-eng-skills
7221 skills

Claude Code

$ npx -y skills add getaero-io/gtm-eng-skills --skill deepline-ads-audiences --agent claude-code

SKILL.md

deepline-ads-audiences.SKILL.md
name: deepline-ads-audiences
description: "Use this skill when building, enriching, auditing, or uploading B2B paid ads audiences to Google Customer Match, Meta/Facebook Custom Audiences, or LinkedIn Matched Audiences. Triggers on phrases like '/deepline-ads-audience', '/deepline-ads-audiences', 'upload this audience', 'create custom audiences', 'personal email hashes', 'increase Facebook match rate', 'Google ads audience', 'Meta audience', 'FB audience', or any workflow that turns CRM/customer/contact data into paid ads upload lists. Skip for outbound prospecting sequences, cold email, or pure campaign copywriting."

Deepline Ads Audiences

Quick Start

npm install -g deepline
deepline -h

CLI resolution

Run `deepline` when it is available. If the shell reports that command is missing, use `<workspace-root>/.deepline/runtime/bin/deepline` (or the npm-created `.cmd` shim on Windows). If neither exists, follow `https://code.deepline.com/INSTALL.md` to set up Deepline.

Build high-quality ABM paid ads audiences from first-party customer or prospect lists. This skill is for paid ads audience upload and evaluation, not outbound.

Names in this skill are starting hints. Run `deepline search "contact list -> ad platform custom audience" --type tools` and `deepline describe <tool_id>` before running, because tool names and input shapes can change. Tool search takes a task: one sentence stating the input you have -> the result you need, not keywords.

Before You Start

Match the request to a row in the decision matrix and read the linked file before acting. This skill is not for cold outbound, sequencing, or copywriting: personal emails here are used to improve paid ads matching, not to contact people directly.

Decision Matrix

| User says | Do this | Read | | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------- | | "max coverage", "highest match rate", "maximum match rate", "keep increasing coverage", "get to 75% coverage", exhaust LinkedIn/personal-email/hash options | Run the explicit max-coverage ladder with budget gates. | `recipes/max-coverage-audience.md` | | `/deepline-ads-audience`, "enrich and upload to FB/Google" | Run the full paid ads audience recipe. | `recipes/enrich-and-upload-facebook-google.md` | | "sample ABM segment", "do the example workflow" | Follow the reusable high-priority ABM segment recipe. | `recipes/sample-abm-segment-example.md` | | "use ContactOut hashes", "hashed identifiers", "LinkedIn URLs to hashes" | Plan a bulk pass beside the ladder, not a waterfall step. | `shared/contactout-hash-pool.md` | | "what is a hash", "why is my match rate low", first-time user | Explain the mechanic before quoting a plan. | `shared/audience-basics.md` | | encoded/internal-identifier LinkedIn URLs (`/in/ACwAA…`), "API rejected my LinkedIn URLs", "convert LinkedIn URLs" | Normalize `person_linkedin_url` before upload: drop encoded, recover vanity. | Step 4 → "Normalize LinkedIn URLs" (this file) | | "Make sure hashes are not double hashed" | Run the no-double-hash audit play before upload. | `plays/audit-no-double-hash.play.ts` | | "enrich this list", "buy personal emails/hashes", "run the ladder" | Run the waterfall. Each layer only sees rows still missing a hash. | `plays/enrich-audience-waterfall.play.ts` | | "Compare enriched versus unenriched" | Build both hash-only datasets and report lift. | `plays/enrich-audience-waterfall.play.ts` | | "include phone numbers", "add phones" | Hash existing phones twice: `+digits` for Google, digits for Meta. | `shared/upload-failure-modes.md` | | "what was the match rate", "did it match" | Read `contactIdInfo.matchRatePercentage`, not the range enum. | `shared/upload-failure-modes.md` | | "put it in a sheet", "customer will upload" | Publish the validated file to Sheets; verify by row count. | `shared/upload-failure-modes.md` | | "connect Meta", "Meta not

Read more
@getaero-io
Ships withgtm-eng-skills

AI agent skills that turn Claude Code into a GTM engineering workstation — lead enrichment, signal discovery, TAM building, and outbound automation. Powered by Deepline.

Stars on GitHub

Momentum

stars in total
72
Star history of getaero-io/gtm-eng-skills on GitHub, a chart by star-history.com

Other skills on gtm-eng-skills.

build-tam

build-tam

Build a Total Addressable Market list: size the audience, source companies from ICP filters, then find contacts at those…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about deepline-ads-audiences.

Which coding agents can use deepline-ads-audiences?
deepline-ads-audiences installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.