Where leads come from
Three sources create a customer: the widget or hosted page, the dashboard, and Call actions. Anonymous chatting creates nothing.
Browse topics
What it is
Every customer record carries a source, and there are exactly three:
- Widget — a lead form completed on your website widget or on the chatbot's hosted page. This is where most real contacts come from.
- Dashboard — a lead form completed inside the dashboard's test chat. Usually you or a teammate trying the form out.
- Action — a Call action that asked for details during a conversation, rather than a form before it.
That is the whole list. There is no source for "ads", "email campaign", or "organic" — those are campaign attribution, which Agentency records separately as the landing page, the referring site, and any campaign parameters on the link. You will find them in the Source & attribution block on the customer profile.
When you would use it
When your Customers list is empty and your conversation count is not. When you are deciding which capture mechanism to set up. Or when a record has a source you did not expect and you want to know which part of your setup created it.
Where to find it
Dashboard → Customers has a source filter on the list.
The settings that produce each source live elsewhere: Chatbots → your chatbot → Settings → Customer data for the form, and Chatbots → your chatbot → Actions for Call actions.
Why chatting alone creates nothing
This is the single most common surprise, and it is deliberate rather than a gap.
A visitor who opens the chat, asks three questions, and closes the tab is anonymous. Agentency does not attempt to identify them from their network address, does not buy enrichment data, and does not create a shell record on the off-chance. The conversation is stored and counted in your analytics; no contact is created.
A record appears only when one of these happens:
- They complete a lead form — the form you configure under Customer data.
- A Call action collects their details during the conversation.
- Your website tells Agentency who they are by passing a signed-in visitor's identity to the widget, which attaches a name to the session and can be resolved into a record when details follow.
If none of those is set up, an empty Customers list is the correct outcome and no amount of traffic will change it.
Steps
- Decide how visitors reach the chatbot: your website widget, the hosted page link, or a messaging app.
- Turn on lead capture for that chatbot — see Set lead capture fields. This covers both the widget and the hosted page in one setting.
- If your site already knows who the visitor is, also pass their identity to the widget so signed-in users are not asked to retype what you already have. See Widget visitor identity.
- If the details are better asked for mid-conversation — after the chatbot has established what the person actually needs — add a Call action instead of, or as well as, the form. See Collect visitor details.
- Test each path as a visitor, in a private window. Your own test chat produces a record with the dashboard source and proves nothing about the live experience.
- Open Dashboard → Customers, filter by source, and confirm you see what you expected.
Choosing between a form and a Call action
They solve different problems and the choice is worth making deliberately:
A lead form asks up front, before the chatbot has said anything. It captures the most contacts because everyone sees it, and it costs you the most conversations for the same reason. Use it when almost every conversation is worth following up.
A Call action asks in the middle of the conversation, when the chatbot has decided it needs the details — before booking something, or before promising to send a quote. It captures fewer contacts, but the ones it captures are far better qualified, because the person has already engaged. Use it when the chatbot mostly answers general questions and only some conversations are worth a contact.
Using both is legitimate: an optional form that most people skip, plus a Call action that asks properly when it matters.
Attribution: where they came from before the chat
Separately from the source, each record keeps the marketing context of the visit: the first page they landed on, the last page they were on, the site that referred them, and any campaign parameters that were on the URL.
That means a link you tag with campaign parameters will carry those tags onto every contact it produces, letting you tell one campaign's leads from another's. Filter by campaign source on the Customers list, or read the attribution block on any profile.
Two limitations to hold in mind:
- Attribution reflects the session where the details were captured, not necessarily their very first visit ever.
- Agentency's own site analytics are not a lead source. Marketing tags measure page traffic. They never create a customer record.
Limits and plan notes
Records are per chatbot. The same person contacting two of your chatbots produces two records, each with its own source.
Messaging channels are not a fourth source. A conversation on a messaging app produces a record through the same mechanisms — a Call action, or details the platform provides — and is filed under the source that captured it. See Channels overview.
There is no notification when a lead arrives. Agentency will not email you. If you want to know immediately, set up a Call action that posts to your own system — see Notify your team and Webhooks and outbound HTTP.
The widget and the hosted page share one setting. Both use the same Customer data configuration, and both report the widget source. To tell them apart, look at the landing page recorded in the attribution block.
Common problems
Hundreds of conversations, zero customers.
Nothing is capturing details. Turn on lead capture, or add a Call action, then test as a visitor.
Every record says the dashboard source.
You have only ever tested it yourself. Open the hosted link or your live site in a private window and complete the form as a stranger.
A record says the action source and I never built a form.
A Call action collected the details mid-conversation. Open Actions on that chatbot to see which one — Call action history will show you the run.
I expected leads from WhatsApp and there are none.
Check whether that channel is actually connected and available on your plan. A channel card that says it is not available yet will not produce anything. See Messaging channels availability.
Campaign parameters are missing from my records.
The parameters have to be on the URL of the page the visitor lands on, at the moment they chat. A tagged link that redirects and drops its parameters loses them, and so does a visitor who arrives tagged and chats three pages later in a new session.
Common questions
Why does anonymous chatting create no record at all?
By design. Agentency does not try to identify visitors from their network address or buy enrichment data, so a record exists only when someone actually hands over their details.
Should I use a lead form or a Call action?
A form asks up front and captures the most contacts, at the cost of some conversations. A Call action asks mid-conversation and captures fewer but far better qualified contacts. Using both is legitimate.
Can I tell hosted-page leads apart from widget leads?
Not by source — both report the widget source because they share one setting. Look at the landing page recorded in the attribution block on the profile instead.
Do campaign tags on my links carry through to leads?
Yes, if the parameters are on the page the visitor is looking at when they chat. A redirect that drops them, or a visitor who chats three pages later in a new session, loses them.
Will Agentency email me when a new lead arrives?
No. There is no lead notification. Set up a Call action that posts to your own system if you need to know immediately.
Was this article helpful?
Related articles
Set lead capture fields
Choose what your chatbot asks for before its first reply, under Settings → Customer data. Off until you switch it on.
Open the customers list
Dashboard → Customers is the contact list your chatbots build. Search, filter by chatbot and status, and read the four tiles correctly.
Read a customer profile
One contact on one chatbot: contact fields, lead status, lifecycle stage, attribution, consent, and a dated activity timeline.
Name visitors on the widget
Pass your own user's id and name so conversations show who is chatting. It is a label, never a login.
Ready to try it on your own content?
Create a free workspace, add a document, and ask the questions your team is tired of answering.