Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

Role playbook

How to Sell to a VP of Marketing (and Count the List by Region)

What a VP of Marketing buys, who else is in the room, how many are mailable by region, and four first lines you can send today.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

TL;DR

  • A VP of Marketing owns pipeline contribution and the budget that buys it. Sell a number they report upward, not a feature list.
  • Count first, send second. On 2026-10-21 LeadOcean showed 78,666 mailable VP-level people in Advertising & Marketing worldwide, 51,435 of them in North America.
  • The recipe takes about 25 minutes and spends about 26 LeadOcean records. Every count is free.

Prerequisites

  • A free LeadOcean account and an API key from app.leadocean.io. Free gives you 1,000 records for life, no card, 5 requests a second.
  • The key in your shell as $LEADOCEAN_API_KEY.
  • curl and jq.
  • Optional: Claude or any MCP client connected to https://api.leadocean.io/mcp, which has 13 tools including free counts.

What a VP of Marketing actually cares about

A VP of Marketing is judged on pipeline sourced and influenced, cost per opportunity, and brand reach. Every message you send passes that filter.

They are rarely the person who finds your tool. A director or manager runs the trial and writes the shortlist. The VP signs off, or kills it on budget.

They also hold a fixed budget set months ago. Your pitch has to say what it replaces or what it pays back, in their terms: cost per lead, cost per opportunity, hours saved for the team.

Three things get a reply:

  1. A specific number tied to their channel, such as a cost per opportunity.
  2. A reason you wrote to them this quarter.
  3. A small ask: a question, not a calendar link.

If you sell to this role, read how to sell to a marketing director next. The director is your champion and the VP is your approver.

Where they sit in the buying committee

Several people weigh in on a marketing purchase. The VP is the budget owner. Around them:

  • Marketing director or manager: runs the evaluation, uses the tool daily.
  • Marketing ops: checks integrations and data hygiene.
  • CMO or Head of Growth: approves above the VP's limit.
  • Finance and IT: security and contract review on larger deals.
  • Sales leader: cares when the purchase touches lead handoff.

Size each group before you write a line. Counts are free, so do it first.

Objections you will hear

A VP of Marketing says no for a handful of reasons. Plan the answer before you send.

  • "No budget." The budget is set, so show what you replace. Name the line item and the saving per quarter.
  • "Send me something." That is a polite no. Reply with one specific number for their channel, not a deck.
  • "We have a tool for that." Ask what it misses. Do not attack the incumbent.
  • "Talk to my director." This is a win. The director is your champion. Ask for the introduction by name.
  • "Not this quarter." Ask what changes next quarter, then set a reminder for that date.

Step 1: Count VPs of Marketing by region

Count with count=true as a query parameter and limit=1. The call spends no records and returns meta.total, capped at 100,000.

bash
for region in NORAM EMEA APAC LATAM; do
  echo -n "$region: "
  curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
    -H "x-api-key: $LEADOCEAN_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"jobLevel\":[\"VP\"],\"jobFunction\":[\"Advertising & Marketing\"],\"salesRegion\":[\"$region\"],\"emailStatus\":[\"verified\",\"catch_all_valid\",\"catch_all\"]}" \
    | jq '.meta.total'
done

Enum values are exact strings. Check them with leadocean_list_enum_values or GET /v1/enums before you guess.

The emailStatus array keeps the REST count to mailable people: verified, catch_all_valid or catch_all. The MCP tool leadocean_count_leads does that by default and returns an exact total above 100,000. Say which statuses you counted whenever you quote a number.

Step 2: Size the rest of the committee

The same call with a different jobLevel sizes the people around the VP.

bash
for level in C-Team VP Director; do
  echo -n "$level: "
  curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
    -H "x-api-key: $LEADOCEAN_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"jobLevel\":[\"$level\"],\"jobFunction\":[\"Advertising & Marketing\"],\"emailStatus\":[\"verified\",\"catch_all_valid\",\"catch_all\"]}" \
    | jq '.meta.total'
done

Directors outnumber VPs by about six to one on the mailable counts below. Plan a multi-thread outreach: one VP, one or two directors per account.

Step 3: Narrow to a list you will actually send

Worldwide is not a list. Add the filters that match your product: company size, industry, region.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jobLevel": ["VP"],
    "jobFunction": ["Advertising & Marketing"],
    "salesRegion": ["NORAM"],
    "employeeRange": ["201-500", "501-1000"],
    "emailStatus": ["verified", "catch_all_valid", "catch_all"]
  }' | jq '.meta.total'

Keep trimming until the count fits a month of sending. A list you can personalize beats a list you can only blast.

Step 4: Pull a sample and enrich one record

Pull 25 rows to read the titles. This spends 25 records. limit runs 1 to 100. Page by sending meta.nextCursor back as cursor.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/search" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jobLevel": ["VP"],
    "jobFunction": ["Advertising & Marketing"],
    "salesRegion": ["NORAM"],
    "limit": 25
  }' | jq '{rows: (.data | length), next: .meta.nextCursor}'

Then enrich one person by person_id (each row carries it at meta.source_ids.person_id) to see career history. This spends one record. A person we hold nothing for returns a 404 and costs nothing.

bash
curl -s -X POST "https://api.leadocean.io/v1/people/enrich" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"person_id": "1234567890", "reveal_email": true}' \
  | jq '.data.resume_data.experiences[0:3]'

Since October 2026 enrich returns resume_data: past roles, education, certifications and awards, each when held. A VP who came up through demand gen reads a cost-per-opportunity opener differently from one who came from brand.

Step 5: Write four first lines

Keep the first line to one sentence and anchor it on something you can see. Four patterns, with placeholders:

TriggerFirst line
Recent hire"Jane, congrats on the new VP role at Acme. Are you auditing the pipeline sources this quarter? I have a short checklist."
Past role"Saw you ran demand gen before moving to the VP seat. Does cost per opportunity still anchor your reporting?"
Channel"Acme runs paid search and webinars. Which one gets your team's pipeline credit?"
Peer proof"{Named customer} cut {metric} by {X} in {period}. Worth a look at how?"

Do not write a proof line you cannot back with a customer you are allowed to name. If you have no result, use the question patterns. See trigger marketing for how to pick the event.

Step 6: Plan a four-touch sequence

Space the touches out over two weeks. Each one adds something new and none of them says "just following up".

text
Day 1:  the first line from Step 5, one question, no link.
Day 4:  one number for their region from your Step 1 count.
Day 9:  a short note to the director at the same account.
Day 14: a close-the-loop line: you will stop writing unless they want more.

Send the VP and the director on different days so neither sees the same message twice. Check email_status before you send and drop anything that is not verified, catch_all_valid or catch_all. LeadOcean gives no refund for bounced email.

What you get

Counts below come from leadocean_count_leads on 2026-10-21. Filters: jobLevel VP and jobFunction Advertising & Marketing. The email status is the mailable default. It is a mailable count, not everyone.

salesRegionMailable VPs of MarketingAll matching people
Worldwide78,666235,953
NORAM51,435131,509
EMEA4,92113,364
APAC4,11911,816
LATAM4591,346

The four regions add up to less than the worldwide row. Some people carry no region on file.

The rest of the committee follows, worldwide, same date, same mailable default.

jobLevel (Advertising & Marketing)Mailable people
C-Team47,655
VP78,666
Director495,789

A search page returns records in the shape below (response shape from the API reference, placeholder values).

json
{
  "success": true,
  "data": [
    {
      "profile_data": { "profile_full_name": "Jane Doe" },
      "contact_data": {
        "has_email": true,
        "email_status": "verified",
        "contact_current_experiences": [
          { "job_title": "VP of Marketing", "company_name": "Acme", "company_domain": "acme.com" }
        ]
      },
      "meta": { "source_ids": { "person_id": "1234567890" } }
    }
  ],
  "meta": { "count": 1, "credits": 1, "nextCursor": "..." }
}

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-keyCheck $LEADOCEAN_API_KEY is exported and has the search scope.
429Above the plan's rate limit (5 a second on Free, 200 on Agency)Wait for Retry-After, then slow the loop.
402Out of records on FreeCounts stay free. Move to Solo ($97 a month) for more records.
Empty resultsA filter value that is not an exact enum stringLook it up with leadocean_list_enum_values or GET /v1/enums.
meta.total stops at 100,000The count capAdd filters until the total is under 100,000.
meta.depthCapped is trueOne search pages to 10,000 rowsNarrow the filters, do not walk the index.

FAQ

How many VPs of Marketing can I email?

On 2026-10-21, 78,666 mailable VP-level people in Advertising & Marketing worldwide, 51,435 in North America. Mailable means verified, catch_all_valid or catch_all.

Who signs off on a marketing purchase besides the VP?

Usually a CMO or Head of Growth above, a director who ran the trial below, and finance or IT for contracts. Size each with Step 2.

Is a VP of Marketing the same as a CMO?

No. The CMO sets strategy and sits on the executive team. The VP runs the programs and holds most of the working budget. Both are in LeadOcean: C-Team and VP are separate jobLevel values.

Should I filter by title or by job level?

Use both, then compare. Job level and function catch every VP in marketing, whatever the title says. A title search for "VP of Marketing", "VP Marketing", "Vice President of Marketing" and "Vice President, Marketing" counted 70,472 mailable people worldwide on 2026-10-21. Title keywords also catch variants such as VP of Product Marketing, so read the titles in your 25-row sample before you send.

How many records does this recipe spend?

About 26: 25 sample rows and one enrichment. Counts are free and an enrichment that finds nothing costs nothing. Free includes 1,000 records for life. See pricing.

Can I export the full list?

Bulk CSV export is not on Free. It is included on Solo, and exports take up to 50,000 rows a request. For a related persona, see how to sell to a VP of Engineering. More guides are in the blog.

Count your VP of Marketing list before you write line one

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →