• Blog
  • Pricing
Login
Free TrialGet a Demo
Get a Demo
ZenABM

ABM made easy. Plug-and-play account scoring and analytics.

Follow us

LinkedInFacebookYouTubeX
Start for FreeLoginBook a Demo

Product

  • All Features
  • AI Agent - Zena
  • Dashboards
  • AI Reporting
  • Expert Skills
  • MCP Server
  • Companies Engagements
  • Multi-Channel Revenue Attribution
  • ABM Campaign Analytics Dashboards
  • Company Buyer's Intent
  • LinkedIn Ad Campaign Insights
  • Job Titles Insights
  • CRM Sync
  • Webhooks
  • API

Use Cases

  • ABM Campaign Management and Performance Tracking
  • Account Scoring
  • LinkedIn Campaign Management and Optimization
  • For LinkedIn Ads and ABM Agencies
  • Agency MCP Server

Free Tools

  • ABM Budget Calculator
  • LinkedIn Ads Count Calculator
  • LinkedIn TLA Generator
  • Experts Chat
  • LinkedIn Single Image Ad Creator

Case Studies

  • Productive's ABM Success Story
  • Valueships's LinkedIn TLA Case Study
  • Flowfuse's ABM Success Story

LinkedIn Optimization

  • Build Campaigns with AI
  • Budget Savers
  • Bidding Agent
  • Exclusions
  • Impression Capping
  • Workflows

Resources

  • Documentation
  • Release Notes
  • Reports & Templates
  • Blog
  • Case Studies
  • ABM Benchmarks Report
  • LinkedIn Ads Agencies Directory
  • ABM Clay Templates
  • LinkedIn ABM Skills for Claude
  • LinkedIn ABM Strategy
  • Running ABM on LinkedIn: The Ultimate Guide
  • Events
  • TLA Bootcamp
  • AI for ABM & LinkedIn Ads Week

Competitors comparison

  • ZenABM vs Fibbler
  • ZenABM vs Factors.ai
  • DemandSense Alternatives
  • Recotap Alternative

Company

  • Pricing
  • Contact
  • Brand Assets
  • Become a partner

Legal

  • Terms of Use
  • Privacy Policy
  • Data Policy

©2026 ZenABM - All Rights Reserved.

  1. Home
  2. Blog
  3. Build & Optimize
Build & Optimize

Free B2B website visitor deanonymization with LinkedIn Ads – How to do it?

Emilia Korczynska
Emilia Korczynska
LinkedInPublished Feb 7, 2026·Updated Feb 7, 2026

Share this post

LinkedInXFacebook
Free B2B website visitor deanonymization with LinkedIn Ads – How to do it?

Summarize with AI:

View as Markdown

Table of Contents

  • Short summary – How to de-anonymize your website visitors for free
  • Step 1: Build a retargeting audience based on specific pages
  • Step 2: Create the retargeting campaign
  • Step 3: Let ZenABM add new companies to your Hubspot / Send them to Clay, Smartlead etc. via Webhooks

With RB2B and Vector both shutting down their free plans, you might be looking for alternative B2B website visitor deanonymization solution. Few people know you can actually deanonymize you website visitors practically for free – by using LinkedIn text ads with the website visits objective. So in this guide I’m going to show you how I use this tactic to deanonymize website visitors (on company level) to high intent, mid intent and low intent pages (practically for free) – and can quickly do this too.

Short summary – How to de-anonymize your website visitors for free

LinkedIn Campaign Manager website audience setup targeting visitors who viewed demo pages for retargeting
Deanonymized companies on high-intent pages in a retargeting list for LinkedIn text ad campaigns
  • You can de-anonymize B2B website visitors almost for free by using LinkedIn text ads with the Website Visits objective, instead of paid website-deanonymization tools.
  • The tactic works by retargeting visitors to high-, mid-, and low-intent pages (pricing, demo, solutions, high-converting blogs) and serving them low-click text ads that generate impressions but almost no spend.
  • Because text ads get very few clicks and you bid manually just above minimum, the campaign runs cheaply while still generating company-level ad impression data.
  • After running the campaign for ~1 week, you can see which companies viewed those ads, effectively deanonymizing website visitors at the company level.
  • Using ZenABM (or similar tools), those companies can be:
    • Viewed by campaign and intent level
    • Synced automatically into HubSpot/Salesforce
    • Tagged with ABM stages and intent signals
  • You can optionally push high-intent companies into Clay via webhooks, enrich them with ICP job titles, and automatically:
    • Find contacts
    • Fetch work emails
    • Send prospects into Smartlead / HeyReach outreach sequences
  • The result is a fully automated pipeline from:
    Website visit → LinkedIn ad impression → Company identification → CRM → Clay → Outbound,
    powered by first-party intent signals and run at near-zero media cost.

Deanonymize LinkedIn ad engagements, get intent, accounts scoring (starting @$59/month!)

37 Days Free Trial

Try ZenABM Now

Step 1: Build a retargeting audience based on specific pages

I am using an example of an audience visiting high intent pages only (I also have one for mid-intent, and I don’t care about the rest at this point – but you can, of course, just use website visitors to your all pages)

Go to LinkedIn Campaign Manager → Plan → Audiences and click Create audience. Choose Create matched audience, then select Website as the retargeting source.

LinkedIn Campaign Manager Create audience menu with Matched audience highlighted for website visitors
\

LinkedIn Campaign Manager dialog choosing Website as the matched audience source for retargeting

Name your audience, for example High-intent pages.

Select specific high-intent pages on your website, such as:

  • Pricing pages
  • “Get a demo” pages
  • Specific solution pages
  • High-intent blog posts with strong conversion rates
LinkedIn Campaign Manager website audience setup targeting visitors who viewed demo pages for retargeting

Save the audience and wait until it populates with at least 300 people.

Step 2: Create the retargeting campaign

Go to Advertise and create a new Campaign Group called High-intent pages retargeting audience.

LinkedIn Campaign Manager with an active Retargeting – High Intent Pages campaign for website visitors

Inside this campaign group, create one campaign named Retargeting high-intent pages.

Use the Classic campaign setup and select Website visits as the campaign objective.

retargeting high intent pages LinkedIn campaign objective

Choose Text Ads as the ad format.

Set a daily budget (for example $50, or higher). The campaign will typically not spend the full amount.

Use manual bidding and bid slightly above the minimum suggested bid. This will make sure the ad is running and serving impressions to your target audience.

LinkedIn Campaign Manager audiences showing the Website retargeting high intent pages option highlighted

Since the ad is optimized for clicks – and text ads generally receive very few clicks – this is why you will be able to run them practially for free – all while de-anonymizing that audience (on company level) based on these ads impressions.

Target the High-intent page visitors audience.

Save the campaign.

Create a single image ad inside the campaign:

retargeting ad text ad for website visitor deanonymization with Linkedin ads

Now you will need to run this campaign for at least a week to get enough impressions to deanonymize the aduience.

Step 3: Identify engaged companies

Use a company-level tracking tool such as ZenABM (or a similar tool – e.g. Factors.ai) to track which companies were served the text ads:

Go to Campaign Groups and find the “Retargeting High intent Pages”:

ZenABM campaign table showing a highlighted retargeting high intent pages campaign for LinkedIn Ads

Click on the Retargeting Campaign and go to the “Companies” tab. This allows you to see which companies viewed the ads associated with the high-intent retargeting campaign:

Deanonymized companies on high-intent pages in a retargeting list for LinkedIn text ad campaigns

ZenABM synchs the data from the companies de-anonymized from your high intent page website visitors into your CRM (Hubspot/Salesforce) automatically:

HubSpot companies table with ZenABM properties synced to company records for account-based marketing

Step 3: Let ZenABM add new companies to your Hubspot / Send them to Clay, Smartlead etc. via Webhooks

Now, if you want to write new companies that have visited your high intent pages into your CRM (if they are not there already) – you need to select that option in ZenABM’s CRM settings:

ZenABM CRM sync settings with Enable Company Creation highlighted to auto-create accounts from visitors

This will create new companies that have visited your website and seen the text ads into you CRM.

Now that you have the list of companies – let’s see how you can find the best-fit ICPs in them!

Step 4 (Optional): push companies ZenABM into Clay for prospecting into the job titles. 

Fist of all – go to that campaign tab in ZenABM again to see which job titles saw your text ad specifically – these will be the job titles of the people in the companies that visited your high intent pages:

ZenABM report of job titles who visited high-intent pages, retargeted via LinkedIn Text Ads

OK but now you still need to know how to use the intent signals from account level, that you have in ZenABM – to find prospects for outreach in Clay, and add them to the right respective intent-based outreach sequences.

Below, I will show you how to do that + set up filters, connect your Smartlead (email outreach) account, and configure automatic updates to keep your campaigns running smoothly.

0. Copy the Clay Template from here [LINK – FREE CLAY TEMPLATE]. 

Clay workflow template for intent-led outbound: find companies, find people, then add leads to a campaign
  1. Go to ZenABM and under ABM Stages, click on “Edit” next to Interested. Define it as you prefer.
ZenABM ABM Stages settings listing each stage and its conditions for signal-based outbound

In this example, it’s companies with three or more clicks. Select what you prefer and then, click on “Update Stage”

2. Click on “Update Stage”

Stage conditions filter setting a clicks metric rule to qualify LinkedIn Ads engagement signals for outreach

This playbook works only with Clay’s Explorer plan or higher or on the free trial because Webhooks and Email sequence integrations are only available with those plans.

3. You will need Clay’s Explorer plan at least to run this playbook

Clay pricing plans comparison table with arrows pointing to tier prices and feature rows like integrations

After you copy the Clay template, you will see the full workbook with 2 tables and an Overview.

Go to the first step and click on it.

4. Click on “Pull in data from a Webhook”

Clay workflow pulling companies in the Interested stage from ZenABM via webhook to find their people

5. Double-click here

ZenABM workflow with a webhook node pulling data into a custom table for signal-based outbound

It will take you to step one, where you need to complete the first step. The first step is to copy the webhook URL you see. Copy it, then go to ZenABM. Click on “Webhooks,” and select “Create a new webhook.”

6. Click on “Copy”

Clay webhook setup panel with the URL Copy button clicked, used to send intent signals into Clay

7. Go to ZenABM, Click on “Webhooks”

ZenABM app sidebar with Webhooks selected under Data to push intent signals into outbound tools

8. Click on “Create new Webhook”

ZenABM webhooks table with the Create new webhook button for sending signals to tools like Clay

In this webhook, you will select companies and then name the webhook.

9. Click on “Companies”

ZenABM webhook step selecting Companies engagement data as the data type to send to Clay or Apollo

10.Name the Webhook here:

ZenABM webhook setup form with a Name field and a URL field for receiving intent signal payloads

Paste the webhook you just copied from Clay in the “URL”. Click Next.

11. Paste the webhook you just copied from Clay here

Clay webhook form with empty URL field, where the payload URL for sending intent signals is entered

After you paste the webhook, click Next.

12.

Click on “Next”

ZenABM webhook setup screen with the HTTPS URL field and a cursor clicking the green Next button to continue

These are the filters. If you want companies from specific campaign groups, campaigns, or ABM campaigns, you can select them. I want everything, so I will ignore this. Click on “Add Filter.” Select “ABM stage” and choose “any of interested.” Ignore the other options.

13. Click on “Add filter group”

ZenABM webhook setup with the Add filter group button under Company Property Filters for account data

14. Click on “LinkedIn Metric”

ZenABM webhook filters choosing a LinkedIn metric to send only matching company data to outreach tools

15.

Click on “ABM Stage”

ZenABM webhook setup showing Company Property Filters with a LinkedIn Metric dropdown set to Company Intent

16. Click on “Has any of”

ZenABM webhook company property filter set to ABM Stage 'Has any of' with operator dropdown open

17. Click on “Select ABM stages”

ZenABM webhook settings filtering company data by ABM Stage with a 'Has any of' condition

18. Click on “Interested”

ZenABM ABM Stage filter with Interested selected to narrow accounts by buying stage

Then click Next.

19. Click on “Next”

Clay filter step with the Next button highlighted, used to set up intent signal filters before outbound

From here, I want it to recur for every 7 days, since I plan to run this weekly. So I am going to change the Date Range to “Last 7 Days”.

20. Click on Date Range

ZenABM webhook Data Delivery settings with date range set to Last 90 days before sending data to Clay

21. Select “Last 7 Days”

Clay data delivery settings with the date range dropdown set to Last 7 days for webhook payloads

Each week, once this occurs, the companies are automatically included.

22. Click here:

Clay Data Delivery settings with Individual mode selected, sending one webhook record per request

23. Click on “Individual” under Delivery Mode

Webhook delivery mode settings with Individual selected as best for Clay, sending one record per request

Individual, because that’s what’s best for Clay. I will select all of the “Data Fields”, then create the webhook.

24. Click on “Create Webhook”

ZenABM webhook setup choosing LinkedIn data fields for the outgoing payload, with JSON preview

Once I do this, I will go back to Clay for Step 2.

All of these company URLs will be pulled in automatically. I will click on Overview, then Find People, and then Edit Inputs.

25. In “Overview”, Click on “Find People”

Clay workflow with a Find people source step feeding a Person table for finding ICP-fit contacts

26. Click on “Edit inputs”

ZenABM job title filter showing include and exclude keywords, exact match field and manual run option

Here, select the filters for your ICP. Including Job Titles, Locations etc.

27. Edit the filters for your ICP here

ZenABM Find People search criteria panel with Job title filter and other filters for targeting contacts

List all the job titles you want to include, as well as those you want to exclude. Add any other relevant details as needed.

Adjust the filters as needed, then click Continue.

28. Click on “Continue ✓”

LinkedIn Recruiter search filters panel with Limit results set to 50,000 and the Continue button highlighted

Once you do that, click on…

29. Click on “Replace existing rows”

ZenABM dialog asking whether to add new rows or replace existing rows before continuing a search

Click on “Replace Rows”, and you’re done.

30. Click on “Replace rows”

Replace existing rows dialog warning that all rows are deleted before importing new LinkedIn lead data

Now It will prospect into your ICP from the Interested Stage companies automatically. Go to Step 2 now.

31. Click on “Step 2”

Clay workflow step two, Finding ICP fit people, lists contacts after the companies step in outbound setup

This table, finds the work emails of the prospects and pushes them to the relevant Smartlead and HeyReach campaigns automatically. By default the “Work Email” column is turned off so you don’t spend Clay credits unexpectidly. If you want to automatically find the work emails for your ICP in those interested stage companies, you need to enable “Auto Update” for this column.

32. Click on “Work Email”

Clay table showing the Work Email column selected to find ICP contacts before adding leads to a campaign

Click on “Edit Column.” Then, you…

33. Click on “Edit column”

Clay table's Work Email column menu with Edit column selected in the ICP people-finding step

34. Click here

Clay column settings for Company Social Profile URL showing a 'Please select a valid value' error

35. Click here

Clay table run settings with auto-update toggle and 'Only run if' condition for refreshing company data

Turn on “Auto-update”.

If you want to change certain settings, you can do so in “Full Configration”. If not, let it be. Click on “Save”.

36. Click on “Save”

Clay run settings with an Only run if filter to limit enrichment to qualifying accounts for signal outbound

Now to select the right Smartlead Campaign to add the prospect to, follow these steps.

37. Click on the column “Add Lead to Campaigns”

Clay table with Add Lead to Campaign column selected beside LinkedIn Profile and Work Email columns

Here you need to select which Smartlead campaign do you want to add the prospect automatically to.

38. Click on “Edit column”

Clay table column menu showing Edit column, Insert column and Run column options next to a LinkedIn Ads lead campaign step

If your Smartlead account is already connected, select your account. Then, choose the campaign you want.

39. Click on “Select Smartlead.ai account”

Smartlead UI for selecting an account and mapping columns when adding leads to an outbound campaign

40. Click on “Campaign ID” to select the right campaign

Clay column mapping that links Find people fields like work email and names to a campaign setup

If your smartlead account isn’t connected, click “Add Account” and name your connection.

41. Click on “+ Add account”

Smartlead.ai account dropdown in a Clay workflow for choosing where warm outbound sequences are sent

To get your Smartlead API key, go to Smartlead and click on Settings.

42. Click here

SmartProspect lead discovery screen with AI Search, a red arrow pointing to the top-right account icon

43. Click on “Settings”

SmartProspect settings menu showing credit usage and Settings option for managing outbound lead credits

Click on API key management, then copy the API key.

44. Click on “API Key Management”

Smartlead settings sidebar with API Key Management highlighted, where outbound tools get connection keys

Copy the API key from this location. Click on “Copy.”

45. Click here

Smartlead Admin API Key page with masked key and reset option, used to connect outbound tools like Clay

Go back to Clay and name your connection however you like.

In this example let’s name it “Smartlead connection”. Paste the key here. Click save, test, and save.

46. Click here

Smartlead.ai API key setup dialog showing the connection name and masked API key field before saving

47. Paste the API key you copied from Smartlead here

Smartlead.ai API key dialog to connect Smartlead for sending enriched leads into outbound sequences

48. Click on “Test account & save”

Smartlead connection dialog with API key field and Save menu open, highlighting the Test account & save option

Now your Smartlead account is connected to Clay.

Simply choose the campaign you want to run and the other fields will populate automatically.

49. Select the campaign you want to push the contacts to

Campaign ID dropdown in an automation setup panel, with the ZenABM campaign selected from a list of options

If you want to add custom fields, you can do so.

50. Click on “Custom Fields”

Clay Find people step with location and company domain fields mapped for warm outbound lead enrichment

If not, you can leave it as is. To set this to run automatically, click on auto-update. Then select save and run.

51. Click here

ZenABM campaign run settings with Auto-update toggle and an Only run if filter on Work Email for intent-based lead updates

52. Click here

ZenABM campaign run settings with auto-update enabled and the Save button highlighted for lead filtering

53. Click on “Save and run rows in this view”

Clay table settings with auto-update on and a 'Save and run 0 rows in this view' option for enrichment

After this, you do the same for HeyReach. If it is connected, you can simply choose any campaign you want. If not, you connect it via API.

54. Click on “Add Lead to Campaign”

Clay table with an Add Lead to Campaign button highlighted in a work email enrichment workflow

55. Click on “Edit column”

Clay column dropdown menu with Edit column highlighted for adding LinkedIn Ads leads to campaigns

56. Click here

Clay column mapping screen linking Find people name fields and Campaign ID for warm outbound workflows

If Heyreach isn’t connected, click Add Account.

57. Click on “+ Add account”

Clay workflow screen with HeyReach API selected as account and the Add account option in the dropdown

58. Click here

Add HeyReach API Key dialog in Clay for linking HeyReach outreach to a signal-based prospect table

First, name your connection. Then, obtain the API key for HeyReach.

59. Click here

HeyReach API key connection dialog with an empty required API key field for linking outbound tools

Go to HeyReach and click on Integrations. Select HeyReach API, then click Get API. Copy the API key. Go back to Clay, paste the key, then click Test Account and Save.

60. Go to HeyReach. Then “Integrations”

HeyReach Integrations menu showing the Clay option for sending enriched leads into outbound campaigns

61. Click on “Get API key”

HeyReach integrations settings with Connect buttons for Clay, Zapier and HeyReach API for outbound

62. Click here

Integration settings page showing the HeyReach API key field and the Get API Key button highlighted

63. Go back to Clay. And paste the API Key here

HeyReach API key connection dialog in a Clay table, used to link HeyReach to outbound lead workflows

64. Click on “Test account & save”

HeyReach integration Save menu with the Test account & save option for connecting LinkedIn outreach

It will save, and that’s it. You can now choose your Heyreach Sequence you want to add the prospects into and add custom fields if needed. It will work automatically.

If you enable auto-update, click Run.

65. Toggle on “Auto-update”

Clay Run settings with Auto-update toggle highlighted and an Only run if condition on LinkedIn Profile

66. Click on “Save and run rows in this view”

Clay dialog highlighting the 'Save and run 0 rows in this view' option for running enrichment on table rows

Okay. Everything is now set.

Go to ZenABM and click “Trigger Webhook.” That’s all you need to do.

67. Click on “Trigger webhook”

Webhook list with Test and Trigger webhook buttons, cursor clicking Trigger to send a webhook

Now, return to your Clay account. You will start to see companies appearing gradually.

Okay, this is how it will look. It will fetch each individual webhook and automatically find people. It will find your ICP in those Interested accounts, find their emails, and add them to the appropriate campaigns.

That is all you need to do.

68. How it will look on Step 1

Clay table of companies in the Interested stage imported from ZenABM, ready for people search and outbound

69. How it will look on Step 2

Clay table step two, finding ICP-fit people at ZenABM interested-stage companies before outbound outreach

I know this was a lot – but hope it was helpful! 🙂

If you want to deanonymize your website visitors for free using LinkedIn text ads?  Try ZenABM free for 37 days or book a demo to see how ad engagement signals can power your outbound strategy.

Share this post

LinkedInXFacebook

Author

Emilia Korczynska

Emilia Korczynska

LinkedIn

Share this post

LinkedInXFacebook

Try Zena AI Agent

Ask our experts about LinkedIn Ads & ABM. Get instant answers with sources.

Emilia KorczynskaAli YildirimVeronika VebereTim DavidsonMaximilian Herczeg
+20 experts
Try it free

Stay up to date with ZenABM

Get the latest ABM insights in your inbox.

Latest in Blog

Back to Blog