Skip to content

Back to articles

Clay Data Enrichment + HubSpot Integration: The Complete Guide

Table of Contents

What if you could trace every closed deal back to the exact list that sourced it?

Well with the right Clay-HubSpot setup, you can. 

 

Most teams use these tools for enrichment and outreach, but few connect the dots all the way to revenue. This guide will show you how to turn your Clay-HubSpot integration into a closed-loop system that tracks performance from first touch to closed-won. 

Step by step, you’ll learn how to:

  • Pull live, filterable contact data from HubSpot into Clay
  • Enrich leads with LinkedIn, Clearbit, Dropcontact, and more—without overwriting good data
  • Push clean updates back into HubSpot using HubSpot ID-matching and blank-field protection to avoid overwriting clean CRM data
  • Tag every contact with a campaign name to enable attribution
  • Build funnel reports that track MQLs, SQLs, and deals from each outbound workflow
  • Attribute real pipeline and revenue to specific campaigns and lists

No more guessing which lists worked. No more disconnected tools. Just clear, trackable results.

👀Watch: Before we dive into the how, here’s a quick take on how to evaluate your needs with Clay, and where it makes the biggest impact on funnel performance. 👇

Step 1: Start Clay-HubSpot Integration with a Clean Contact Pull

Before you do anything in Clay, you need to start with good data. And that means pulling contacts straight from HubSpot.

info

HubSpot Onboarding

Just getting started with HubSpot? Our onboarding team sets up your CRM, lifecycle stages, and workflows the right way, before enrichment ever begins. 👇

hubspot onboarding

This keeps everything clean, connected, and trackable. You’ll know exactly who you're enriching, and you won’t risk creating duplicates or overwriting good info.

Why is this step important?

If you skip this and just upload a cold list:

  • You might create duplicate contacts in HubSpot
  • You could overwrite clean data with incomplete info
  • You’ll lose visibility into where leads came from

Integrating HubSpot with sales tools like Clay can save sales teams an average of 4 hours per rep each week, simply by avoiding manual exports and keeping CRM records synced automatically.

info

HubSpot Integrations

Our HubSpot Integrations team builds the sync between Clay, HubSpot, Smartlead, and more so every campaign gets credit and every rep gets clean leads. 👇

husbpot integrations

But, when you import contacts from HubSpot:

  • You work with up-to-date records
  • You use HubSpot IDs, which keep everything matched
  • You keep your CRM organized and your reporting accurate

Reminder: If the HubSpot ID is missing, Clay won’t update the record, it will return a failed status for that row unless you’ve explicitly added a “Create Contact in HubSpot” step.

Here’s how to do it (step by step)

  1. In Clay, open your table
  2. Click the + Add button
  3. Search for “HubSpot”
  4. Choose “Import objects from HubSpot”
  5. Select the object you want, usually Contacts, but Clay also supports Companies, Deals, and custom objects if your workflow requires it.

If you haven’t connected your HubSpot account yet, Clay will ask you to log in.

Once you choose your object (like Contacts), you’ll see a few options.

Here’s what they mean:

  • List to pull from (optional): You can pull in all contacts, or just a specific list (like “MQLs with no owner”)
  • Exclude empty properties: This hides blank fields to keep your Clay table clean
  • Include read-only properties: This adds fields like “Original Source” or “HubSpot Owner”. You can’t change these, but they help with filtering later

When to use a list 

Let’s say you only want to enrich leads who:

  • Filled out a form
  • Don’t have a job title
  • Haven’t been contacted yet

In HubSpot, you’d create a smart list for that. Then in Clay, you’d pull in just that list so you’re not enriching people who already have clean data.

This saves time, keeps your CRM clean, and avoids burning through enrichment credits.

Here’s what a good setup looks like:

  • You build a list in HubSpot called “MQLs Missing Job Title”
  • You import that list into Clay
  • You enrich the contacts (job title, LinkedIn, company info)
  • Then you update only those fields back in HubSpot

Now those contacts are complete, enriched, and ready for sales to follow up.

In one sample sync, Clay was able to enrich 76% of HubSpot contacts missing LinkedIn profiles, 109 out of 143, making it one of the fastest ways to complete partial records at scale.

What to remember

  • Always pull data from HubSpot, not a spreadsheet
  • Use a filtered list to narrow it down
  • Make sure each contact has a HubSpot ID so updates work
  • Exclude empty fields so your table is easier to manage
  • Bring in read-only fields if you want extra filtering info (like source or owner)

Once your contacts are in Clay, and tied to real HubSpot records, you’re ready for enrichment.

Step 2: Clay Data Enrichment for HubSpot. Without Overwriting Good Data

Now that your data is in Clay, let’s clean it up. 

The real magic of Clay is what happens after import: enrichment.

But if you enrich recklessly, without matching contacts to their real HubSpot IDs, you’ll risk overwriting good data, creating duplicates, or sending junk back into your CRM.

This step shows how to enrich contacts in Clay and push clean updates back into HubSpot, without breaking anything.

Why does this matter?

Your CRM is only as good as the data inside it. 

So if you:

  • Update the wrong records
  • Send partial or blank values
  • Overwrite clean fields with worse ones…

…your reports, handoffs, and automations all suffer.

How to Enrich and Update Step-by-Step in Clay

  1. Add an Enrichment

    • Click the “+” above a column → Search “LinkedIn,” “Clearbit,” “Dropcontact,” or “Clay AI”
    • Choose the enrichment you want (e.g. job title, domain, email, etc.). Clay leverages integrations with over 75 data providers for waterfall enrichment, ensuring up to 95% coverage on key fields like email and phone number—even when individual sources come up short.

  1. Run the enrichment

    • Clay will automatically detect what field (like name or domain) to use as the input
    • You can also manually set the lookup field for more control

3. Set up the Update Action
    • Choose Object Type = Contact
    • Match using HubSpot Object ID (from your import in Step 1)
    • Map fields carefully (e.g. update “Job Title” only if the enriched version is not blank)
    • Turn ON “Ignore blank values”
    4. Test it first

    • Filter the table to a few test rows or duplicate the table to isolate a test batch
    • Run the update and check the results in HubSpot before applying changes to all rows.

What “Ignore Blank Values” Actually Does

Clay-native setting in the “Update Object” action

When this toggle is ON, Clay skips any field that has a blank value, so you don’t accidentally erase something in HubSpot.

Example:

  • Contact A has a job title in HubSpot = “Head of Product”
  • If enrichment fails, the cell may be blank, say “Not Found,” or contain a placeholder like “Employee”. Always filter for false positives before pushing updates.
  • With “Ignore Blank Values” ON → HubSpot keeps “Head of Product”
  • With it OFF → Clay replaces it with blank (not good)

Best Practices (Not Required, But Smart)

These aren’t enforced by Clay, but they’ll save you headaches:

  • Add a column that flags records ready for update
    Example: “Title Enriched = Yes” → then filter Clay to only update those rows
  • Use HubSpot’s read-only fields for logic
    Like Last Modified Date or Original Source to skip recent updates or internal leads
  • Label your enrichment columns clearly
    Rename columns like Job Title (LinkedIn) → Clay Enriched Job Title

What to remember

  • Use enrichment sources inside Clay like LinkedIn, Clearbit, or Dropcontact
  • Match updates using HubSpot Object ID — this ensures the right record is updated
  • Turn on “Ignore blank values” so you don’t overwrite clean data
  • Test small before updating in bulk
info

HubSpot Technical Consulting

Need help configuring Clay’s update logic, deduplication rules, and HubSpot field mappings? Our HubSpot Technical Consulting team handles the custom config so your enrichment doesn't break things. 👇

hubspot technical consulting

Step 3: Use Clay Enrichment to Tag Campaigns in HubSpot for Attribution

You need to know where each lead came from and that means giving every contact in your Clay table a tag that tells you what campaign or list they’re part of.

If you don’t do this, you’ll lose track of which campaigns are working and which aren’t.

Why does it matter?

Let’s say someone books a meeting.

Can you answer:

  • Did they come from your eComm list?
  • Was it the “VP of Ops” workflow?
  • Did that campaign even work?

Without a campaign tag, you won’t know.

Businesses using campaign tagging in their CRM report a 36% higher customer retention rate, thanks to more personalized follow-ups and better handoffs across teams.

Tagging each contact in Clay lets you:

  • See where they came from
  • Report on each campaign’s results
  • Prove what’s driving meetings and revenue

How to do it in Clay

1. Add a column for the campaign name

In your Clay table, create a new column.

Call it something like:

  • Clay Campaign
  • Workflow Name
  • Outbound List

Then add a clear name to that column, something that identifies the campaign:

  • ecomm_founders_q2
  • vp_ops_list_march
  • webinar_followup_april

Just type it once and drag it down to apply to the whole column.

2. Send that value into HubSpot

Now use the Update Object in HubSpot action (just like in Step 2).

  • Match by HubSpot Contact ID
  • Map your new column (Clay Campaign) to a custom contact property in HubSpot (you’ll need to create this if it doesn’t exist yet)
  • Turn on “Ignore blank values” so you don’t erase anything important

Now each contact in HubSpot will show exactly which Clay campaign they came from.

What happens next

Once that tag is in HubSpot, you can:

  • Build lists like “All contacts from the VP Ops campaign”
  • Report on how many turned into meetings or deals
  • Track revenue by campaign
  • Create follow-up workflows just for that group

Example: You tag 500 contacts with vp_ops_list_march. Later, you see that 3 deals closed from that list. Now you know that campaign worked, and you can do more of it.

What to remember

  • Always tag your contacts before sending them to HubSpot
  • Use a clear, specific name for each campaign
  • Push it into a contact property using Clay’s Update Object
  • Use that tag in HubSpot to report, build lists, and track ROI

Once your contacts are tagged, you’re ready to track how they move through your funnel.

👀Watch: Wondering why this kind of system-building matters more than ever? Here’s a quick look at the broader trends driving Clay’s growth and why tagging, enrichment, and connected systems are no longer optional. 👇

Step 4: Build Revenue Reports from Clay-HubSpot Integration Data

Once your contacts are in HubSpot, it’s time to track how they move through your funnel. Did they convert? Did sales follow up? Did any become customers?

This step is all about using HubSpot’s lists and reports to see how your Clay-sourced contacts are performing, from lead to revenue.

Why does this matter?

Clay helps you generate great leads. But if you don’t track those leads in HubSpot, you’ll never know:

  • Which campaigns actually drive MQLs or SQLs
  • Which lists convert to pipeline
  • How much revenue your outreach creates. 

How to Track Clay Campaigns in HubSpot

1. Create a filtered list in HubSpot

Use the campaign tag you pushed from Clay (e.g. Clay Campaign = ecomm_founders_q2) to build a contact list in HubSpot.

This list is your baseline. Every contact in this list came from a specific Clay workflow.

2. Use that list in reports and dashboards

Now plug that list into HubSpot reports to track:

  • Funnel progress (Lead → MQL → SQL → Deal)
  • Conversion rates at each stage
  • Pipeline created by that group
  • Speed to first touch after enrichment

Example: You imported and enriched 500 contacts in Clay. You tagged them with webinar_followup_april. In HubSpot, 120 of those became MQLs, 25 were worked by sales, and 3 deals were created.

Now you can say: that Clay list influenced $X in pipeline.

3. Use custom properties for even more filters

Want to get more specific? 

Add filters like:

  • Lifecycle stage
  • Date added to HubSpot
  • Source (Original Source, UTM, etc.)
  • Assigned rep or region

You can also filter by whether they were enriched, engaged, or added to a deal.

Funnel Metrics to Watch

Once you’ve tagged and tracked your contacts, here are a few key metrics to look at:

  • Contact → MQL conversion rate
  • MQL → SQL rate
  • SQL → Deal created
  • Average time from contact created to first activity
  • Deals created / closed from each campaign

These numbers help you decide which Clay workflows are worth scaling and which ones need work.

info

If you're tracking funnel performance, the BowTie Model helps you pinpoint which revenue lever to focus on and how to actually move it. 👇

bowtie model

What to remember

  • Always tag Clay contacts so you can track them in HubSpot
  • Build a list for each campaign or outbound motion
  • Use that list in funnel reports to track performance
  • Watch for drop-offs and wins at each stage

With funnel tracking in place, you’re ready for the final piece: attributing real pipeline and revenue to your Clay workflows.

info

Can't get enough Clay?

Check out our webinar with them on how to streamline your GTM efforts by unifying fragmented data, enriching contact records, and automating workflows directly into HubSpot. 👇

revpartners clay webinar

Step 5: Attribute Revenue to Clay Enrichment Using HubSpot Campaigns

The final step is the most important: proving that your Clay-sourced contacts led to real revenue.

This step shows how to tie your outbound efforts to results using HubSpot reporting, associations, and campaign fields you set up earlier.

info

HubSpot Migrations

Still running outreach from spreadsheets or legacy CRMs? Our HubSpot Migrations service brings your entire funnel into HubSpot...clean, complete, and ready for enrichment. 👇

hubspot migrations

Why does this matter?

Your exec team, board, or sales leader doesn’t care how many leads you enriched.They care about:

  • How many turned into deals
  • How much pipeline was created
  • How much revenue closed

And if you can’t prove that Clay campaigns helped… your work doesn’t get the credit it deserves.

CRM integrations deliver an average ROI of $8.71 for every dollar spent, an 871% return, making them one of the highest-yielding investments in the sales tech stack.

fractional revops

How to Attribute Revenue to Clay

1. Make sure contacts are associated with deals

For attribution to work, the contacts you pushed from Clay must be linked to deals in HubSpot.

There are 3 ways to do this:

  • Sales creates a deal and auto-associates the contact
  • A HubSpot workflow creates the deal and links it
  • Clay can push associations using the “Create Association in HubSpot” action. Just make sure you match both the Contact and Deal using their HubSpot Object IDs. Clay needs both to create the link correctly.

2. Use your campaign tag field to filter

This is the field you set in Step 3 (like Clay Campaign Source = ecomm_founders_q2).
Now you can:

  • Build a report or dashboard that shows:

    • Number of deals created from each campaign
    • Total pipeline generated
    • Closed-won revenue
  • Use attribution reports like:

    • Deals by contact property
    • Attribution touchpoints
    • Revenue by HubSpot campaign (requires Marketing Hub Enterprise and proper UTM tracking)

3. Slice by funnel stage, rep, or source

Want to go deeper? Layer filters to answer:

  • Which campaigns drove deals fastest?
  • Which reps closed the most Clay-sourced deals?
  • What’s the average deal size by list?

These insights help you optimize everything: messaging, targeting, even routing rules.

What to remember

  • No deal association = no attribution
  • Your campaign field from Clay is the key to filtering
  • Use HubSpot’s reporting tools to break it down by campaign

👀Watch: Hear how one SDR used Clay not just to hit quota, but to build better systems, evolve their role, and shape how modern GTM teams work. 👇

Now You Know What’s Working and Can Prove It

If you've gone through all 5 steps, then you know how to build a system that tracks every Clay lead, every enrichment, every HubSpot update, straight through to pipeline and revenue.

Now when someone asks, “What’s actually working?”
You won’t point to clicks. You’ll point to closed-won.

hubspot audit

Schematic - Switch Box

RevPartners is at Your Service

Does your revenue engine need built, fine-tuned, or supercharged?

To learn more about how to continuously improve operational efficiency and identify the gaps in your customer experiences, see what RevPartners can do for you!