Intents tell you what an account is interested in: a product line, a use case, or a specific campaign theme. They are intent signals built from real ad engagement, not reverse-IP guesses, and they can be sent anywhere: your CRM, Clay, a sales engagement tool, or your own systems, so keep them easy to understand for everyone, including Sales.
Intents are assigned to Companies based on them clicking on Ad Sets/Campaigns.
When to use intents
Tag specific LinkedIn Campaigns or Ad Sets with the messaging that they cover. We generally advise doing this at the Campaign level, for more meaningful data (the details are here). Campaigns will have Ad Sets with different formats that often speak about the same thing. Common examples:
- A competitor-takedown Campaign
- A specific feature Campaign ("AI Analytics", "Product Onboarding", etc.)
- A problem-focused Campaign ("Forecasting", "Logistics oversight", etc.)
How to set up an intent
Create the intent
Give it a clear, specific name. This is how it will appear in the platform and in your CRM, so keep it understandable for everyone, both in Marketing and in Sales.
Choose where it applies
This is the key decision. You can associate an intent at the ad set level or the campaign level (and with specific companies). See below for which to pick. We recommend using Campaign or both.
Ad set level vs. Campaign level
Because a Campaign contains several Ad Sets, where you attach an intent changes how precise it is:
Ad set level: more precise, harder to detect
Because of LinkedIn's data policy ("the more granular you query, the more obfuscated the data is"), it is more difficult to cross the required thresholds to detect enough Clicks per ad set at the Company level.
Campaign level: broader
Attach the intent to the whole campaign when every ad set beneath it represents the same messaging/offer. It is simpler to manage, it covers all current and future ad sets in that campaign, and it is meaningfully easier to capture the data.
You can define separate Intents at the Ad Set level and at its Campaign level. Keep in mind that the data will not always roll up, due to the nature of LinkedIn's API.
Start at the Campaign level if a campaign is built around one clear theme. It's less to maintain. Drop to the ad set level when a single campaign mixes themes and you need cleaner signal. You can always refine later.
Put each message in its own ad set, and tag each ad set with its own intent. An intent on the campaign cannot tell the two messages apart.
Most teams use one intent per topic or pain point. Sales can then see which message a company reacted to.
Where intents go
Detecting an intent is only useful if someone acts on it. ZenABM sends intent signals out through:
CRM sync
Written onto the company record in HubSpot, Salesforce or Attio, so reps see the theme before they write the first line and workflows can trigger on it.
Webhooks
Pushed to Clay or any prospecting and sales engagement tool, for example to start a sequence personalized to the detected theme.
REST API and MCP
Pulled programmatically, or read by Zena and the MCP server when you ask which accounts showed intent this week.
Company pages
Listed on every account with the date each intent was picked up.
Best practices
- Name intents for your team. "Interested in SSO" is more useful to sales than "Q3 creative v2".
- Use them to personalize outreach. An intent is the theme the account already responded to. Lead the first message with it.
- Pair intents with stages. An account that is Interested (ABM Stage) and shows AI Analytics intent is a strong, specific signal to act on, and it makes the outreach message easy to write around the detected theme.