Events¶
Events are a BimBeau Privacy Analytics Pro feature that help you track specific actions, interactions, or page behaviors that matter to your website.
Use Events when page views and visits are not enough and you want to measure important user actions more precisely.
Good to know
Events are a Pro feature. If the Events settings or report are not visible, check that your Pro license is active and that your WordPress user has access to BimBeau Privacy Analytics Pro features.
What Events are for¶
Events help you answer questions such as:
- How often do visitors click an important button?
- How often is a specific page viewed?
- Are visitors submitting or interacting with a form?
- Which events should appear as dashboard KPIs?
- Which pages, countries, cities, devices, browsers, or operating systems are associated with triggered events?
- Are event actions running successfully?
Event examples¶
Common event use cases include:
- tracking clicks on a contact button;
- tracking clicks on a pricing or quote request button;
- tracking views of a thank-you page;
- tracking visits to a campaign landing page;
- tracking contact or quote forms once they are really sent;
- tracking form confirmations through the page shown after a successful submission;
- monitoring important calls to action;
- measuring interactions that support conversions.
Good to know
Events are most useful when they are tied to a clear business, content, or UX goal. Avoid creating too many events without a reporting purpose.
Event triggers¶
An event trigger defines when an event should be recorded.
Use a click trigger when you want to record clicks on a specific button, link, or interface element. Click triggers usually rely on a CSS selector that matches the target element.
Use a page view trigger when you want to record visits to a specific page or URL pattern, such as a thank-you page or campaign landing page.
Use this trigger to record a form only once it has really been sent, for example to count a lead or a conversion. See Successful form submissions.
With WooCommerce active, use a WooCommerce trigger to record a step of the purchase: product viewed, added to cart, checkout started or order placed. See WooCommerce steps.
New events offer the click, page view and form submitted successfully trigger types, plus the WooCommerce type when WooCommerce is active. Events created with an older version can also use the Form submission and Webhook trigger types, which are kept and keep working (see Older trigger types).
Click events¶
Click events are useful for buttons, links, navigation items, tabs, accordions, downloads, or calls to action.
Good click event examples:
- a “Contact us” button;
- a “Request a quote” button;
- a “Download brochure” link;
- a pricing CTA;
- a phone link;
- a newsletter signup button.
Important
Click events depend on the CSS selector you configure. If the selector is too broad, it may record unrelated clicks. If it is too narrow or changes after a redesign, the event may stop triggering.
Successful form submissions¶
A click on a submit button, or the submission of a form, does not mean that the form was sent: the visitor may have left a required field empty, the anti-spam check (reCAPTCHA) may have blocked it, or the visitor may have clicked twice. Counted as conversions, these attempts inflate your figures, in your reports and in the advertising tools your snippets feed (Google Ads, GA4 generate_lead).
| Trigger type | Recorded when | Counts invalid, blocked or repeated attempts |
|---|---|---|
| Click on the submit button | The button is clicked | Yes |
| Form submission (older type) | The browser submits the form, before any check | Yes |
| Form submitted successfully | The form plugin confirms that the form was sent | No |
The Form submitted successfully trigger waits for the confirmation of the form plugin. It supports these plugins, each through the event it sends after a successful submission:
| Form plugin | Event the trigger listens to | Recorded when |
|---|---|---|
| Elementor Pro forms | jQuery event submit_success on the form |
The form shows its success message, or just before the Redirect action leaves the page |
| Contact Form 7 | DOM event wpcf7mailsent |
The message was sent (not when it is invalid, marked as spam or fails to send) |
| WPForms | jQuery event wpformsAjaxSubmitSuccess on the form |
An AJAX form was submitted successfully |
| Gravity Forms | jQuery event gform_confirmation_loaded |
An AJAX form shows its confirmation message |
| Formidable Forms | jQuery event frmFormComplete |
An AJAX form was submitted successfully |
The form plugin is recognized by the event it sends, never by the CSS classes of the form: a theme class such as frm_forms on a Contact Form 7 form does not make it a Formidable form.
Target a specific form¶
Form selector (optional) limits the event to one form. Enter a CSS selector that matches the form itself or an element around it (a block, a popup, a section). Leave it empty to count every form of the site that is sent successfully.
| Form | Example selectors |
|---|---|
| Every Contact Form 7 form | .wpcf7 form |
| One Contact Form 7 form | #wpcf7-f42-o1 form (the ID of the block that wraps the form, visible in the page source), or a block around it such as #overlay-contactsit |
| Every Elementor form | form.elementor-form |
| One Elementor form | form[name="Quote request"] (the Form name set in Elementor), or the CSS ID of the Elementor widget or section, for example #quote-form |
| Any form inside a popup or a section | the ID or class of that popup or section, for example #contact-popup |
An invalid selector never matches: if the event never appears, check the selector in the browser developer tools (document.querySelector('…')).
Snippets of this trigger type can use {{page_url}}, {{page_title}}, {{form_id}} (the HTML ID of the form; for an Elementor form without ID, the form ID that Elementor stores in the form; for Gravity Forms, gform_ followed by the form number) and {{cf7_form_id}} (the ID of the Contact Form 7 form, empty for the other plugins).
Redirects and forms that reload the page¶
- Elementor forms with the Redirect action: the event is recorded and its snippet runs as soon as Elementor confirms the submission, before the browser leaves the page. The event is sent in a way that survives the page change. For advertising tags, prefer a snippet whose tag also survives the page change (Google tags do).
- Forms that reload the page or redirect without AJAX (for example WPForms, Gravity Forms or Formidable Forms with AJAX turned off, or a plugin not listed above): the page is replaced before any success event can be sent, so this trigger cannot see them. Track them with a Page view event whose Target page is the thank-you or confirmation page shown after a successful submission.
Switch a click event to a successful submission¶
If an event counts clicks on the submit button of a form, for example with the CSS selector #overlay-contactsit input.wpcf7-submit:
- open the event in Statistics → Settings → Events;
- set Trigger type to Form submitted successfully;
- in Form selector, enter the form or the block around it, for example
#overlay-contactsit(not the submit button); - keep the JavaScript snippet as it is: it now runs only for forms that were sent;
- save, then send the form once with an error (for example an empty required field) and once correctly: only the second attempt must appear in the Events report.
The event keeps its ID, label, KPI slot, snippet and history; from now on only forms that were really sent are counted.
WooCommerce steps¶
With WooCommerce active, the Trigger type field also offers WooCommerce. Choose the step in the WooCommerce step field:
| Step | Recorded when |
|---|---|
| Product viewed | A product page is displayed |
| Added to cart | A product is added to the cart, from a product page, a shop page or a cart block |
| Checkout started | The checkout page is displayed (not the order payment page nor the order confirmation page) |
| Order placed | The order confirmation page is displayed; recorded once per order, on the server, with the order amount |
Each step can have only one event, whose Event ID is set by the step (for example woocommerce_add_to_cart) and cannot be edited. The plugin detects the step on WooCommerce pages, after consent to advanced statistics when a consent tool gates them; there is no CSS selector or page to choose, and JavaScript snippets are not run for this trigger type.
As with any event, a step is collected only while its event exists and is enabled: without it, nothing is recorded for that step. Orders are still attributed to their acquisition channel for the WooCommerce columns of the Acquisition report.
Add the WooCommerce purchase funnel, in the Funnels tab, creates the four events for you (see WooCommerce purchase funnel). WooCommerce events stay listed if WooCommerce is later deactivated, but record nothing while it is inactive.
Older trigger types¶
The Form submission and Webhook trigger types can no longer be chosen for a new event. Events that already use them keep their trigger type, which stays listed in the Trigger type field of these events only.
To measure a form today, prefer a Form submitted successfully event (see Successful form submissions), or a Page view event on the confirmation or thank-you page shown after a successful submission: a visitor can click a submit button without the form being sent.
Form submission events¶
Existing form submission events keep recording form submissions, including attempts that the form then rejects. If you also track a click on the same form, one visitor action can create two event occurrences. To count only the forms that are sent, switch them to Form submitted successfully.
Webhook events¶
A webhook event is recorded by your server or by another service (a form plugin, a CRM, an automation tool) that calls the event's Webhook URL, not by the browser tracker. In the event settings:
- Webhook URL shows the address to call, with Copy URL; Generate token or Regenerate token creates the secret token included in the URL (regenerating it invalidates the previous URL);
- Allowed webhook params is the comma-separated list of payload keys that may be stored with the occurrence; other keys are ignored;
- the action field becomes a Server action template; browser JavaScript is not executed for webhook events.
A request that sends submission_id, webhook_request_id or idempotency_key is recorded only once per value. Requests are rate-limited. Webhook events have no visit: they appear in the triggered events list but cannot be funnel steps.
Important
Treat the webhook URL as a secret, and do not send personal data in the allowed parameters.
Page view events¶
Page view events are useful for important page visits.
Common examples:
- a thank-you page after a form submission;
- a booking confirmation page;
- a checkout success page;
- a pricing page;
- a campaign landing page;
- a gated content page.
Page view events are often easier to configure than click events because they rely on a target page or URL pattern rather than a CSS selector.
Event actions¶
Events can also include actions depending on your configuration.
An action defines what should happen when an event is triggered. For example, a tracking snippet action can run custom JavaScript when the event occurs.
Important
Only add event actions if you understand what the action does. Custom snippets can affect website behavior and should be reviewed carefully before being used on a live site.
Only users allowed to publish unfiltered HTML (on a single site, administrators and editors by default; on multisite, super administrators only) can add or change JavaScript snippets. Other users who can manage the Events settings can still edit the other event fields; existing snippets keep running.
Snippets can use placeholders such as {{page_url}}, {{page_title}} or {{element_text}}. Use them as bare values, never inside quotes: write page_location: {{page_url}}, not page_location: '{{page_url}}'. The values are inserted as escaped JavaScript strings, and Check syntax warns when a placeholder is wrapped in quotes.
Creating an event¶
-
Open Events settings
In your WordPress admin area, go to Statistics → Settings → Events.
-
Add a new event
Choose Add event and give the event a clear label (25 characters at most). Choose its Event ID when you create it: events already recorded keep the ID they were counted under, so renaming the ID of an existing event starts a new history (a message below the field says so).
-
Choose the trigger type
Select whether the event should trigger on a Click, a Page view or a Form submitted successfully (or a WooCommerce step, with WooCommerce).
-
Configure the trigger
For a click, add one or more CSS selectors; for a page view, search and choose the Target page; for a form submitted successfully, optionally enter the Form selector; for WooCommerce, choose the WooCommerce step.
-
Decide whether it should appear as a KPI
If the event is important enough for high-level monitoring, enable it as a KPI when available.
On mobile layouts, open the event accordion to access the Include in KPI and Enable event toggles inside the event card.
-
Save settings
Save the event configuration.
-
Test the event
Visit the public page where the event should run and trigger the action as a normal visitor would.
Event KPIs¶
Event KPIs help you highlight important events in reporting views.
Use KPI slots for events that matter most, such as:
- quote requests;
- contact clicks;
- form submissions;
- booking starts;
- pricing page views;
- lead-generation actions.
Good to know
Keep event labels short and easy to understand. KPI labels should be clear enough to read quickly in a dashboard context.
Events report¶
The Events report helps you review triggered events over a selected period.
When event reporting is enabled and advanced tracking is allowed, the Triggered events table includes these columns. Some values may be unavailable if BimBeau Privacy Analytics cannot collect the related signal for an occurrence.
The Label (event), Channel, Country, and City filters show the number of matching occurrences across the selected period. Each filter reflects the other active filters, while retaining alternative values for its own dimension. Existing results remain visible while filtered data refreshes.
The Triggered events list uses the WordPress list component (DataViews), the one of the Pages and Templates screens:
- the search field is at the top left of the list, and the export button sits at the top right next to the View options button (cog icon);
- the Label filter (the event) is always shown next to the search; Add filter (funnel icon) adds the Channel, Country and City filters;
- each active filter appears as a chip, such as "Country is: France"; a chip opens to change or remove the filter, and Reset clears the filters and the search without changing the reporting period; choosing another country removes the City filter;
- View options holds the density (compact by default; the choice applies to every list and is kept for your account in this browser), Items per page (5, 10, 20, 50 or 100) and Columns, where every column except the event label can be hidden; occurrences stay listed newest first;
- when the results span more than one page, the pagination at the bottom shows the item count, a page selector and the previous and next page arrows.
| Field | What it means |
|---|---|
| Label | The event label or identifier |
| Event time | When the event occurrence was recorded |
| Type | The trigger type, such as click, form submit, or page view |
| Triggered page | The page where the event occurred, or all pages for site-wide triggers |
| Country | Geographic country information associated with the event, when available |
| City | Geographic city information associated with the event, when available |
| Operating system | The detected operating system, when available |
| Browser | The detected browser, when available |
| Device | The detected device category, when available |
| Details | A view action for eligible trigger types, when available |
The report has two tabs: Triggered events, described above, and Funnels.
Funnels¶
The Funnels tab follows the visits that complete several events in order and shows where visitors drop off, with the conversion rate, the median time to convert, the details by channel and device, and the revenue of a WooCommerce purchase funnel. See Conversion funnels.
WooCommerce purchase funnel¶
With WooCommerce active, the Funnels tab offers a ready-made purchase funnel (product viewed, added to cart, checkout started, order placed). Add the WooCommerce purchase funnel creates the missing WooCommerce events and the funnel. See WooCommerce purchase funnel.
Exporting events¶
Events exports are available from the toolbar of the Triggered events list. The export action downloads the captured events list for the selected period and active filters. CSV, JSON, and Excel formats are available when report exports are available for the current Pro license and server environment.
Data handling
Exported event files may contain website activity, event context, and geographic or device information. Store and share exports according to your privacy policy and internal data handling rules.
Testing events¶
Always test a new event before relying on it for reporting.
Recommended test workflow:
-
Open a private browser window
Test as a normal visitor rather than only as a logged-in WordPress administrator.
-
Grant or decline consent as needed
If your setup requires analytics consent, test both the declined and accepted states.
-
Trigger the event
Click the target element, submit the form, or view the target page.
-
Check Events reporting
Return to BimBeau Privacy Analytics and check whether the event appears in the Events report.
-
Adjust the configuration if needed
If the event does not appear, review the selector, page pattern, tracking settings, and consent behavior.
Privacy and consent behavior¶
Events usually depend on advanced tracking and your event configuration.
If your website requires consent for advanced analytics, your CMP should control whether the advanced BimBeau Privacy Analytics tracker is allowed to run.
Important
BimBeau Privacy Analytics is not a consent management platform. Make sure your CMP, privacy policy, and event configuration match your legal and operational requirements.
Choosing good event names¶
Good event names make reports easier to understand.
Use labels that are:
- short;
- specific;
- action-oriented;
- understandable by non-technical users;
- consistent across similar events.
Examples:
| Weak label | Better label |
|---|---|
| Button click | Contact button click |
| Form | Quote form submit |
| Page | Pricing page view |
| CTA | Homepage CTA click |
Avoiding event noise¶
Too many events can make reports harder to read.
Before creating an event, ask:
- Will this event support a decision?
- Will someone review it regularly?
- Is it tied to a conversion, content goal, or UX question?
- Can an existing report already answer the question?
Good to know
A small set of meaningful events is usually more useful than a large list of low-value interactions.
Troubleshooting events¶
If events do not appear as expected, check the following:
-
Confirm Pro is active
Events are a Pro feature. Make sure your Pro license or account connection is active.
-
Check that Events are enabled
Confirm that the event is enabled in BimBeau Privacy Analytics settings.
-
Review the trigger configuration
Check the CSS selector, form selector, or page pattern used by the event.
-
Test as a logged-out visitor
Your logged-in WordPress role or exclusions may affect whether your own activity is tracked.
-
Review consent behavior
If advanced tracking is blocked by your CMP, event tracking may not run.
-
Check cache and script optimization
Aggressive script delay, combination, or blocking rules can interfere with tracking scripts or event listeners.
Next step¶
Continue with PWA Stats App to learn about the dedicated Pro app-like analytics interface.
