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

How-to guide

How to Sell to a Head of RevOps (and Reach Them by Region)

What they buy, who signs with them, how many you can email in each region, and what to write in line one.

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

TL;DR

  • A Head of RevOps buys to fix a leaky funnel, a messy CRM or a slow quote-to-cash path. Lead with the number they own, not your feature list.
  • It takes about 45 minutes. The sizing is free. Pulling one page of 100 people spends 100 LeadOcean records.
  • On 2026-10-21 the title "Head of Revenue Operations" or "Head of RevOps" had 620 mailable people in LeadOcean, 318 of them in North America.

Prerequisites

  • A LeadOcean API key from app.leadocean.io, exported as $LEADOCEAN_API_KEY. The Free plan gives 1,000 records for life, no card, 5 requests a second.
  • curl and jq.
  • Optional: the LeadOcean MCP server at https://api.leadocean.io/mcp. It exposes the free count tool so Claude can size a list for you.
  • A sending tool of your own. LeadOcean returns the data. It has no sequencer.

Step 1: Know what a Head of RevOps owns

A Head of RevOps owns the system that turns pipeline into revenue. That means the CRM, the routing rules, forecasting, the tool stack and the reports the CEO reads on Monday.

They are measured on forecast accuracy, pipeline coverage, conversion between stages and sales cycle length. They are also the person who gets blamed when a new tool breaks lead routing.

Three things follow for your pitch:

  1. They hate tool sprawl. Show what you replace or what you plug into.
  2. They need proof it fits the stack. Name the CRM and the sync path in your first email.
  3. They think in funnel math. A claim like "cuts bounce rate" matters more than "better data".

Step 2: Place them in the buying committee

The Head of RevOps is rarely the budget holder and almost always the gatekeeper. They evaluate fit, run the pilot and write the recommendation. The CRO, VP Sales or CFO signs.

RoleWhat they decideWhat they ask you
Head of RevOpsFit with the stack, data model, rolloutDoes it sync, who maintains it, what breaks
CRO or VP SalesBudget, rep adoptionWill reps use it, what is the lift
Sales Ops or RevOps analystDay-to-day setupHow do I map fields, what are the limits
FinanceContract, spendWhat does it cost at scale

So sell to the Head of RevOps as an evaluator. Give them what they need to hand to the person who signs: a one-page summary, a pilot plan and a cost line.

You can find the sign-off layer with the same API. The next step shows the search body. Swap the title for "VP Sales" or "Chief Revenue Officer" to build the second thread.

Objections to expect

Plan answers before you write. These are the five you will hear most.

  • "We already have a data vendor." Ask what their bounce rate is and how stale the titles are. Offer a free side-by-side on 100 contacts.
  • "We are mid-migration." Say you will wait, and ask the date. Then put it in your calendar.
  • "I do not own that budget." Ask who does, and offer to send the one-pager they can forward.
  • "Another tool means another integration." Show the sync path in one line and name who maintains it.
  • "Send me more info." Send one page, not a deck, with the pilot plan and the cost.

What triggers a purchase

RevOps buys after a trigger. Look for a new CRO, a funding round, a CRM migration, a headcount jump in sales or a missed quarter. Each one forces a review of the stack.

You can filter on some of these. Use minLastFundingYear for recent rounds, or employeeRange for growth stages. Note that funding filters do not work in the free count, so size without them and narrow at search time.

Step 3: Size the audience for free

Use the free count before you spend a record. The count=true flag goes in the query string, not the JSON body, and limit=1 keeps it free. The total is capped at 100,000, which is far above this audience.

bash
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": ["Head of Revenue Operations", "Head of RevOps"],
    "salesRegion": ["NORAM"],
    "limit": 1
  }' | jq '.meta'

Repeat with "EMEA", "APAC" and "LATAM" in salesRegion. Add emailStatus to count only the statuses you pass, and label the count by them when you quote it.

If you use Claude with the MCP server, ask: "Count people titled Head of Revenue Operations or Head of RevOps by sales region." It calls leadocean_count_leads, which spends no records.

Step 4: Pull the list you will contact

Pull one region at a time so each message can speak to local time zones and buying habits. This request returns up to 100 people for North America. The page costs 100 records.

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 '{
    "title": ["Head of Revenue Operations", "Head of RevOps"],
    "salesRegion": ["NORAM"],
    "emailStatus": ["verified", "catch_all_valid"],
    "employeeRange": ["51-200", "201-500", "501-1000"],
    "limit": 100
  }' > noram.json

Filters are arrays of strings, the body is flat, and limit runs from 1 to 100. To get the next page, send the cursor from the previous response. Mid-sized companies suit most RevOps tools because the title is a real function there, not a part-time duty.

Need more than a page? Bulk CSV export is on Solo and above, not on Free. POST /v1/exports takes up to 50,000 rows a request.

Step 5: Write a first line that fits the role

A Head of RevOps reads cold email with one question: does this touch my funnel or my stack? Open with the problem you saw, then the fit.

Four first lines, with placeholders:

text
1. Acme's inbound routing probably still depends on one person's spreadsheet. We replace that with a rule set that syncs to your CRM in about an hour.

2. Most RevOps teams I talk to lose reps' time to bounced emails, not bad copy. We return an email status on every record, so your sequencer can skip the risky ones.

3. Jane, you own the CRM at Acme. We fill missing titles and company fields on a schedule, so your reports stop showing blanks.

4. If your forecast review has a slide called "data quality", this is a 20-minute fix. Want the one-page version for your CRO?

Keep the email under 80 words. Name one number they own. End with a question that costs them a yes or no, not a meeting.

Use the person's current role from enrich to personalise. The person_id comes from meta.source_ids.person_id on a search row. Past roles, education and certifications are in the response when held, which helps if you share an employer or a certification such as a CRM admin credential.

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": "REPLACE_WITH_ID_FROM_SEARCH"}' | jq '.data.resume_data.experiences'

One enrich call is one record. A person we hold nothing for is a 404 and costs nothing.

Regional notes

North America is more than half the mailable list, so start there. EMEA is the second pool at 196 mailable people. Send EMEA mail in the morning local time, and keep the notes short and plain. APAC and LATAM are small enough to hand-write each message.

Step 6: Run the two-thread campaign

Send the Head of RevOps thread and a second thread to the person who signs. Use the same region split.

DayThread A: Head of RevOpsThread B: CRO or VP Sales
1Problem and stack fitOutcome and cost
4One-page pilot planA single result from your own data
9Question on their current toolAsk to forward to RevOps

Do not claim a customer or result you cannot show. Use your own numbers or none.

What you get

Here is the free count run on 2026-10-21 for the titles "Head of Revenue Operations" and "Head of RevOps". It counts people with a verified, catch_all_valid or catch_all email, the default.

SliceMailable peopleAll matching people
Worldwide6201,291
North America (NORAM)318543
Europe, Middle East, Africa (EMEA)196508
Asia-Pacific (APAC)57118
Latin America (LATAM)3084

The worldwide 620 spans 575 distinct employers. The four regions add to 601, so about 19 mailable people have no region on file. In the worldwide count, 296 are in the US, 64 in GB, 26 in IN and 21 each in CA and FR. By seniority, 598 of the 620 sit at director level.

The same count breaks down by company and industry. The largest size band is 51-200 employees with 186 people, then 201-500 with 111. Software Development leads the industries with 216, then Financial Services with 59. That supports the employeeRange filter in step 4: the title is most common at mid-sized software companies.

This is an audience for a focused campaign, not a mass blast. Plan on one clear message per region.

A search row has this shape (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",
        "email_type": "work"
      },
      "meta": { "source_ids": { "person_id": "1234567890" } }
    }
  ],
  "meta": { "count": 1, "limit": 100, "nextCursor": "CURSOR" }
}

Search rows carry identity, current role, company and the email flags, but no addresses. The person_id for enrich sits at meta.source_ids.person_id.

Troubleshooting

ErrorCauseFix
401Missing or wrong x-api-key headerRe-export $LEADOCEAN_API_KEY and check the header name
429Above the plan's rate limit (5 a second on Free, 200 on Agency)Honour the Retry-After header and slow the loop
402Out of recordsFree is 1,000 records for life. Move to Solo ($97 a month) or Agency ($497 a month)
Empty resultsA wrong enum value, such as a misspelt employeeRangeCheck GET /v1/enums or leadocean_list_enum_values for the exact string
Count is far below what you expectedThe default mailable filter hides unverified emailsPass emailStatus yourself and say which statuses you counted
Export refusedOver 50,000 rows a request or 500,000 a day, or you are on FreeSplit the request, or use a paid plan for bulk CSV

FAQ

Is Head of RevOps the same as Head of Sales Ops?

No, but they overlap. RevOps spans sales, marketing and customer success operations. Sales Ops sits inside sales. Search both titles if your product touches the CRM.

How many Heads of RevOps can I email?

On 2026-10-21 LeadOcean held 620 people with those two titles and a mailable email, across 575 employers. Variants such as "Director of RevOps" or "VP Revenue Operations" add more. Run the free count with those titles to size them.

Which other titles should I count?

Run free counts for "Director of Revenue Operations", "VP Revenue Operations" and "Head of Sales Operations". Each count costs nothing. Add the ones that fit your deal size to the same title array.

Should I email the Head of RevOps or the CRO first?

Both, in two threads. The Head of RevOps evaluates and the CRO signs. Contacting only one stalls the deal when the other has not heard of you.

What does this cost on the Free plan?

The counts cost nothing. One page of 100 people costs 100 of your 1,000 lifetime records. Paid plans have a fair-use pace, not credits.

See also how to sell to a Head of Product, a Head of Growth and a Head of Talent Acquisition. Plans are on the pricing page.

Find every Head of RevOps you can email

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

Get your free API key →