Applicable for: organization admins
Your chatbot can report chat starts and captured leads to your own Google Analytics 4 (GA4) property, so chatbot engagement sits next to the rest of your website traffic. You add your Measurement ID once in the NoForm AI dashboard, register one custom dimension in GA4, and the events start arriving from the pages where your chatbot is installed.
What this integration does
Once you save a Measurement ID, the chatbot sends two events to your GA4 property from the page it runs on: one when a visitor starts a chat, and one when a visitor shares contact details. The lead event carries a lead_source parameter that tells you where that visitor came from, so you can compare chatbot conversions across campaigns, referrers, and direct traffic.
The events go out through the Google tag that is already on your page, whether you installed it directly or load it through Google Tag Manager. NoForm AI does not load Google Analytics for you and does not set consent on your behalf. The integration registers your Measurement ID in its own event group with page views turned off, so it adds no page views and leaves your existing Google Analytics setup unchanged.
Before you begin
You need the following:
Google Analytics 4 active on the pages where your chatbot appears — either the Google tag (gtag.js) installed directly in your HTML, or a GA4 tag inside your Google Tag Manager container. Both setups receive the events.
Your GA4 Measurement ID, which looks like
G-XXXXXXXXXX.An admin role in your NoForm AI organization. Members without admin access see a message saying that integrations are available to organization admins only, with no fields and no Save button.
Your chatbot installed on your site with either the Chat bubble or the Embedded chat snippet.
Step 1: Copy your Measurement ID from Google Analytics
In Google Analytics, open Admin, then Data streams, and open the web data stream for the site that hosts your chatbot. Copy the Measurement ID shown there. It starts with G- followed by 4 to 14 uppercase letters or digits.
Step 2: Open the Integrations tab
In the NoForm AI dashboard, click the organization avatar at the top of the left sidebar, choose ‘Manage organization’, and pick ‘Integrations’ in the left menu of the window that opens. The tab holds two cards: ‘Google Analytics 4’ and ‘Webhook’.
The corner of the Google Analytics 4 card shows a label with the current state. It reads ‘Not configured’ while no valid Measurement ID is saved, and ‘Active’ once one is.
Step 3: Paste the Measurement ID and save
Paste your ID into the ‘Measurement ID’ field, which shows the placeholder G-XXXXXXXXXX, then click ‘Save’.
If the value does not match the expected format, the field shows the message “Enter a valid GA4 Measurement ID (e.g. G-XXXXXXXXXX)” and nothing is saved. After a successful save, a ‘Saved’ notification appears with the text “Google Analytics 4 settings updated.” and the corner label changes to ‘Active’. Visitors who load your page after that point start sending events.
To turn the integration off, clear the ‘Measurement ID’ field and click ‘Save’ again. The corner label returns to ‘Not configured’ and the chatbot stops sending events. Events already collected stay in your GA4 property.
If your organization has more than one assistant, the page shows a line naming the assistant you are configuring. The Measurement ID is stored per assistant, so the card changes the named assistant only, and your other assistants keep whatever setting they already have.
Step 4: Register lead_source in Google Analytics
Open Admin in Google Analytics, then Custom definitions, and create a custom dimension with event scope and the event parameter lead_source. Do this before you start collecting, because registration is not retroactive and GA4 will not fill the dimension for events that arrived earlier.
While you are in GA4, mark new_chat_initiated and generate_lead as key events so they count toward your conversion reporting.
The events your chatbot sends
Event name | When it fires | Parameters |
| A visitor sends their first message to the chatbot | None beyond the GA4 defaults |
| A visitor sends a message containing an email address or a US-format phone number |
|
The chatbot recognizes contact details in the message the visitor types, so generate_lead fires at the moment the visitor shares an email address or phone number in the chat.
Each event is sent once per visitor to avoid inflating your counts. With the Chat bubble, new_chat_initiated fires once per browser for a given assistant and stays recorded in the visitor’s browser storage, so a returning visitor on the same browser does not fire it again, while generate_lead fires once per conversation. With the Embedded chat, both events fire once per conversation.
What lead_source contains
The lead_source value is the traffic source recorded when the visitor first loaded a page with your chatbot on it. The first value recorded for a visitor is kept, so later page views do not overwrite it. For the full picture of how this value is worked out and where else it appears in your dashboard, see “Traffic Sources: See Where Your Visitors and Leads Come From”.
Situation | Value you see |
The visitor arrived with a UTM tag | The |
No UTM tag, but the visitor came from another site | The referring domain without |
No UTM tag and no external referrer |
|
Values longer than 100 characters are shortened before the event is sent. When no source was recorded, the event goes out without the lead_source parameter.
When events are not sent
No Google script is on the page at all. The chatbot hands its events to the Google tag on your page and never loads one itself, so on a page without Google Analytics or Google Tag Manager the events go nowhere. No errors appear on your site.
Your Google Tag Manager snippet uses a renamed data layer (a custom name instead of the standard
dataLayer). The chatbot’s events go to the standard name, so a renamed data layer never sees them.The visitor is on a domain that your domain restrictions do not allow.
The chat is a test or a preview, including the test widget inside the dashboard, the chat previews on the settings pages, and test pages. Those chats do not send events to your property.
The visitor blocks the events through an ad blocker, or your own consent settings withhold them. Consent handling stays under your control through your Consent Mode setup.
The ‘Measurement ID’ field is empty or holds a value that does not match the expected format.
Frequently Asked Questions
Does NoForm AI install Google Analytics on my site for me?
NoForm AI does not load the Google tag and does not change your consent settings. You install and configure Google Analytics yourself, and the chatbot sends its events through the tag it finds on the page.
Does this work when I use Google Tag Manager?
Yes. Installing the chatbot through Google Tag Manager changes nothing about the events, and a GA4 setup that runs inside Google Tag Manager receives them too, because Tag Manager loads the same Google tag engine. If events are missing on a Tag Manager setup, check two things: that your Tag Manager snippet uses the standard dataLayer name (a renamed data layer does not receive the chatbot’s events), and that your consent setup allows analytics on the page. GA4’s DebugView is the quickest way to watch the events arrive while you test.
How long does it take for events to appear in GA4?
Events show up in the GA4 realtime views within a minute or two of the visitor’s action. Reports that depend on the lead_source custom dimension can take up to 24 hours to fill in after you register the dimension.
What happens to my data if I remove the Measurement ID?
Clearing the field stops new events from being sent. Everything Google Analytics already collected stays in your property, because NoForm AI does not delete data from GA4.
Do these events replace the analytics in my NoForm AI dashboard?
The Insights page in your dashboard keeps working as before. The GA4 events add the same activity to your own analytics property, so you can combine chatbot engagement with your other website reporting.
Benefits
Chat starts and captured leads show up in your own GA4 property, next to the rest of your website traffic.
The
lead_sourceparameter tells you which campaigns and referrers produce chatbot leads.Marking the two events as key events lets you report chatbot conversions with the tools your team already uses.
Turning the integration on or off takes one field and one click, and it never changes your existing Google Analytics configuration.



