To sell to a CMO, lead with one number they own. Reach the people around them too, and size your list before you write a word. A CMO is judged on pipeline, cost per acquisition and brand reach. They ignore anything that does not touch one of those.
This guide covers what a CMO cares about and where they sit in the buying committee. It also shows how many you can reach by region and how to build the list with the LeadOcean API.
TL;DR
- A CMO buys when you move a metric they report to the CEO. Open with that metric, not with your product.
- Sizing the list takes about 30 minutes and costs 0 records. Pulling a first sample of 25 to 100 CMOs spends 25 to 100 records.
- On 2026-10-21 we counted 50,077 mailable CMOs worldwide across 34,251 companies. North America holds 26,165 of them.
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. curlandjq.- Optional: Claude or any MCP client connected to
https://api.leadocean.io/mcp, which has 13 tools including free counts.
What a CMO cares about
A CMO owns three numbers: pipeline contribution, budget efficiency and proof of what the spend returned. Your pitch must map to one of them in the first line.
- Pipeline. Marketing is measured on sourced and influenced revenue. Tools that shorten the path from lead to meeting get a hearing.
- Efficiency. Budgets are scrutinized every quarter. Show cost per meeting or cost per qualified lead, with a number you can defend.
- Proof. CMOs are asked to attribute spend. Anything that makes reporting cleaner is easier to buy.
Do not pitch features. Pitch the change in a number they already track.
Where the CMO sits in the buying committee
The CMO signs off, but rarely starts the search. Most marketing purchases begin lower and get approved higher.
| Role | What they do in the deal |
|---|---|
| CMO | Final budget approval. Cares about outcome and risk. |
| VP of Marketing | Owns the plan and often runs the evaluation. |
| Head of Demand Gen or Growth | Feels the problem daily. Usually the champion. |
| Marketing Ops | Checks integration, data and process fit. |
| CFO or finance partner | Appears when the spend is large or multi-year. |
In small companies the CMO is also the buyer and the user. In large ones, reach the VP or Director first and give them a one-page case to carry upward. See how to sell to a VP of Marketing for that second route.
How many CMOs can you reach
On 2026-10-21 we ran the free leadocean_count_leads tool with the titles "Chief Marketing Officer" and "CMO", split by sales region. The default count includes only addresses with email status verified, catch_all_valid or catch_all. It is a mailable count by title, not a count of every CMO.
| Region (person) | Mailable CMOs | All matches, any email state |
|---|---|---|
| North America | 26,165 | 69,029 |
| EMEA | 8,717 | 33,115 |
| APAC | 4,190 | 23,063 |
| LATAM | 1,487 | 6,993 |
| Worldwide | 50,077 | 170,965 |
The regions do not add up to the worldwide row because some records hold no region. Title matching also catches variants, so check a sample before you send.
What a CMO objects to
Expect four objections. Prepare one line for each before you send.
- "We already have a tool for that." Ask what the current tool does not report. Name one gap, not five.
- "Not this quarter." Offer a pilot with a fixed size, such as 25 accounts, and a date to review the result.
- "Send it to my team." Agree, then ask who. A named champion is a win, not a brush-off.
- "What does it cost?" Give a number early. A CMO who has to ask twice stops asking.
How to time the outreach
Marketing budgets are set before the year or half starts and reviewed each quarter. Reach out four to six weeks before a planning cycle, when the CMO is deciding what to cut and what to add. Right after a new CMO starts is another window: new leaders review vendors in their first months. Check the person's start date in the record before you write.
Send during working hours in the CMO's time zone. Use the region split above to batch by time zone, so North America and EMEA go out at different hours. Follow up twice, a week apart, each with a new angle instead of a bump.
What to do after the reply
A reply is a request for proof. Answer with one page: the metric, the before and after you can defend, and the next step. Offer the champion a short call, not the CMO. If the CMO replies directly, copy the champion in and let them take it from there.
Step 1: Size the audience for free
Count before you pull. A count costs 0 records and tells you whether a region is worth a campaign. This sends count=true as a query parameter with limit=1.
curl -s -X POST "https://api.leadocean.io/v1/people/search?count=true" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": ["Chief Marketing Officer", "CMO"],
"salesRegion": ["EMEA"],
"emailStatus": ["verified", "catch_all_valid", "catch_all"],
"limit": 1
}'The emailStatus list here matches the MCP count's default, so the two agree. meta.total is capped at 100,000 and meta.countOnly is true. If you use an AI client, the hosted MCP server exposes the same count as leadocean_count_leads.
Step 2: Narrow to the CMOs you can win
Worldwide is too wide. Cut by company size and industry, then count again. Enum values are exact strings, so look them up first.
curl -s "https://api.leadocean.io/v1/enums" \
-H "x-api-key: $LEADOCEAN_API_KEY"Then add filters to the body. A common cut is mid-market software companies in one region.
{
"title": ["Chief Marketing Officer", "CMO"],
"salesRegion": ["NORAM"],
"employeeRange": ["201-500", "501-1000"],
"emailStatus": ["verified", "catch_all_valid", "catch_all"],
"limit": 1
}Run it with count=true and limit 1 again. A count with a larger limit is a paid page. If the total is under a few hundred, you have a tight account-based list. If it is in the thousands, split by industry.
Step 3: Pull the first page
Drop count=true, set limit to 25 and send the same body. This spends one record per person returned, so 25 results cost 25 records.
curl -s -X POST "https://api.leadocean.io/v1/people/search" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": ["Chief Marketing Officer", "CMO"],
"salesRegion": ["NORAM"],
"employeeRange": ["201-500", "501-1000"],
"emailStatus": ["verified", "catch_all_valid", "catch_all"],
"limit": 25
}'Paginate with the cursor from the response. One search pages to 10,000 rows, so narrow the filters rather than walking the whole index.
Step 4: Find the people around the CMO
For each account you want to win, pull the marketing team. Search by the company domain and a title keyword. This spends one record per person returned.
curl -s -X POST "https://api.leadocean.io/v1/people/search" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": ["acme.com"],
"title": ["Marketing", "Demand Gen", "Growth"],
"limit": 10
}' | jq '.data[] | .contact_data.contact_current_experiences[0].job_title'To list everyone at the company instead, use GET /v1/companies/acme.com/people, which pages with cursor.
Pick a champion (Head of Demand Gen) and the approver (CMO). Send two different emails, not the same one twice. For the full set of roles, see how to sell to a VP of Engineering for the technical reviewer and how to sell to a recruiter for a people-team angle.
Step 5: Write the first line
The first line is the only line a CMO reads on a phone. Make it about their number. Replace the bracketed parts with facts you can verify.
Jane, Acme's last two product launches ran on {channel} only.
How do you report cost per qualified meeting from it? Worth 15 minutes?
Jane, you hired {N} demand gen roles this quarter.
How will you report the pipeline they source? We fix that one thing.
Jane, I counted {N} mailable CMOs at {size} software firms on {date}.
Want the list and the method?Keep it under 60 words. One ask. No attachment on the first touch. Use reveal_email only on the records you will actually send to.
Step 6: Export the list when you are ready
For a campaign list, use a bulk CSV export from the app at app.leadocean.io (Exports page: filter builder, column picker, price preview, CSV download) or the API. Bulk CSV export is not on Free.
curl -s -X POST "https://api.leadocean.io/v1/exports" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "noram-cmo",
"filters": {
"title": ["Chief Marketing Officer", "CMO"],
"salesRegion": ["NORAM"],
"emailStatus": ["verified", "catch_all_valid", "catch_all"]
},
"limit": 5000
}'Search filters go inside filters, and limit sets the row count. Poll GET /v1/exports/{id} until the file is ready. An export takes up to 50,000 rows a request and 500,000 rows a day. Solo ($97 a month) includes bulk CSV export, and Agency ($497 a month) exports 50k rows a file.
What you get
This is the count result for the worldwide CMO query, run on 2026-10-21 with leadocean_count_leads:
{
"total": 50077,
"totalIsExact": true,
"totalAll": 170965,
"distinctCompanies": 34251,
"credits": 0
}A people search returns a record shaped like this (response shape from the API reference, placeholder values). Rows carry no addresses; enrich by person_id for those.
{
"success": true,
"data": [
{
"profile_data": { "profile_full_name": "Jane Doe", "profile_headline": "Chief Marketing Officer at Acme" },
"contact_data": {
"has_email": true,
"email_status": "verified",
"email_type": "work",
"contact_current_experiences": [
{ "job_title": "Chief Marketing Officer", "company_name": "Acme", "company_domain": "acme.com" }
]
},
"meta": { "source_ids": { "person_id": "1234567890", "person_group_id": "1234567890" } }
}
],
"meta": { "count": 1, "nextCursor": "..." }
}Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| 401 | Missing or wrong x-api-key header. | Check $LEADOCEAN_API_KEY is set and sent as x-api-key. |
| 429 | Requests above the plan's rate limit (5 a second on Free, 200 on Agency). | Slow down and honor Retry-After. |
| 402 | The 1,000 Free records are spent. | Move to Solo at $97 a month or Agency at $497 a month. |
| Empty results | An enum value is misspelled or the wrong case. | Look up exact values with /v1/enums or leadocean_list_enum_values. |
| Count body rejected | count=true was put in the JSON body. | Send it as a query parameter. |
| Export refused | You hit the 50,000 rows a request or 500,000 a day limit. | Split by region and run in batches. |
FAQ
Should I email the CMO or their team first?
Email the champion and the CMO in the same week with different messages. Large companies often route the CMO's inbox to an assistant, so a champion's forward carries more weight.
How many CMOs can I email?
We counted 50,077 mailable CMOs worldwide on 2026-10-21. That is by title and mailable email status, so treat it as an upper bound before you filter by size and industry.
Does the count cost anything?
No. Counts, filter lookups and enum lookups spend 0 records. Only people returned by a search or an enrichment count as records.
What does it cost to start?
Size your CMO list before you write the first email
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →