Google Analytics Integration Pro
Connect your GA4 property and every widget interaction is sent to it as a structured event. You can then measure AskVio in your own analytics: compare visitors who asked a question with those who didn't, see which products people asked for, and build audiences, all with your attribution model and without trusting a vendor dashboard.
Connect your property
- In the dashboard, open Integrations → Google Analytics.
- Enter your GA4 measurement ID (
G-XXXXXXX) and save. - Open GA4 Admin → DebugView, ask the widget a question on your live site, and check that
query_submittedandresponse_receivedarrive. Questions asked in the dashboard preview are not sent to your property.
The widget sends events with gtag, addressed only to the measurement ID you entered (send_to). If your site already loads gtag, the widget uses it, so your consent settings apply; other Google tags on your page, such as Google Ads conversions or another GA4 property, don't receive widget events. If your site doesn't load GA4 at all, the widget loads gtag itself.
The integration is part of the Pro plan and above. On the Free plan the measurement ID is kept but nothing is sent.
Events
| Event | When it fires | Extra parameters |
|---|---|---|
widget_loaded | The widget is initialised and rendered | — |
conversation_started | The visitor sends the first message of a conversation | — |
query_submitted | The visitor sends any message | — |
response_received | An answer is shown | latency_ms, answer_status, unmet_product, question_topic |
retrieval_low_confidence | The assistant doesn't answer because retrieval confidence is below your threshold | — |
response_slow | An answer takes longer than 4 seconds | latency_ms |
timeout | No answer arrives before the time limit | latency_ms |
query_failed | Answer generation returns an error, or the limit is reached while the visitor is on the page | latency_ms, reason |
notify_me_shown | The widget offers "Notify me" for a product the site doesn't carry | requested_product |
notify_me_submitted | The visitor leaves an email to be notified | requested_product |
product_card_clicked | The visitor clicks a product card in an answer | product_name, product_url |
source_link_clicked | The visitor clicks a source link in an answer | link_name, link_url |
suggestion_clicked | The visitor clicks a suggested question | suggestion_name |
widget_suppressed | The widget stays hidden because the site reached its monthly question limit | reason (quota_exceeded) |
function_invoked | The visitor clicks a Function button in an answer | — |
Every event also carries the common parameters agent_id, conversation_id and askvio_visitor_id, and most carry success. GA4 adds the page (page_location) and its own visitor and session IDs to every event automatically.
Parameters
| Parameter | Values |
|---|---|
answer_status | answered or no_answer (the assistant declined because your content didn't cover the question) |
unmet_product | Short, lowercase name of a product the visitor asked for and your catalog doesn't have, for example gift cards. Empty when there is none. |
question_topic | The site's own topic for the question (the same names as Top queries in the dashboard), for example shipping and delivery. Empty when the question fits no known topic yet. |
requested_product | The product a "Notify me" offer or request is about. Same format as unmet_product. |
reason | Why the widget was hidden or a question failed, for example quota_exceeded |
latency_ms | Time from sending the question to showing the answer, in milliseconds |
conversation_id | Random ID of the conversation, the same across its messages |
askvio_visitor_id | Random ID the widget stores in the visitor's browser, the same across their conversations. Not linked to any personal data. |
agent_id | The agent that answered, when the widget runs a specific agent |
suggestion_name, product_name, product_url, link_name, link_url | The suggestion, product card or source link that was clicked |
User property: askvio_asker
When a visitor sends their first question, the widget sets the GA4 user property askvio_asker = yes. Visitors who never ask have no value. Because it is a user property, it applies to everything that visitor does afterwards, including purchases, so you can compare conversion and revenue between the two groups.
Register custom dimensions
GA4 only shows custom parameters in reports after you register them. In Admin → Custom definitions → Create custom dimension, add:
| Dimension name | Scope | Parameter / property |
|---|---|---|
| AskVio asker | User | askvio_asker |
| AskVio answer status | Event | answer_status |
| AskVio unmet product | Event | unmet_product |
| AskVio requested product | Event | requested_product |
| AskVio question topic | Event | question_topic |
| AskVio conversation ID | Event | conversation_id (optional, for exports) |
Registered dimensions only collect data from the moment you create them, so register them as soon as you connect the property.
Changed in October 2026: the widget no longer sends client_id, user_id, session_id, environment or page_url as event parameters. GA4 reserves the first three for its own visitor, user and session IDs, so sending them could merge visitors or overwrite the user ID your site sets. The visitor ID is now askvio_visitor_id; the page is in GA4's own page_location. If a report uses the old names, switch it to these.
Compare visitors who asked with those who didn't
- In GA4, open Explore → Free form.
- Under Dimensions, import AskVio asker. Under Metrics, import Total users, Sessions, Purchases (or your key event), Session key event rate and Total revenue.
- Drag AskVio asker to Rows and the metrics to Values.
- The
yesrow is visitors who asked a question;(not set)is everyone else. Compare the conversion rate and revenue per user of the two rows.
For a fair comparison, look at a range that starts after you installed the widget, and compare like with like (for example the same landing pages or device). Visitors who ask questions are often more engaged to begin with, so read the gap as an indication, not as a strict cause.
See what visitors wanted and you don't sell
- In Explore → Free form, add the dimension AskVio unmet product and the metric Event count.
- Add a filter Event name exactly matches
response_receivedand exclude empty values of AskVio unmet product. - For opted-in demand, use AskVio requested product with the event
notify_me_submitted.
For audiences such as "asked about delivery", create a GA4 audience with the condition Event: response_received where question_topic exactly matches the topic. With GA4's BigQuery export turned on (Admin → BigQuery links), all these events and parameters are also available in BigQuery.
You can also build an audience from AskVio asker or AskVio unmet product and use it in Google Ads or email, as long as your consent setup allows it.
Privacy
- AskVio never sends email addresses, names or question text to Google Analytics. "Notify me" emails are stored only in AskVio, and only the site owner can export them.
- The widget uses
gtag, so it respects the consent mode your site configures for GA4. - AskVio receives its own copy of these widget events in a separate analytics property, so we can operate and improve the service. That copy never goes to your property, and your property's events never go to ours.
- Personal data in questions is scrubbed before AskVio analyses them.