Tracking for Divi
Ever wanted to track the built-in contact form from Divi? If you tried using Google Tag Managerβs built-in form submit events to do it you probably noticed an inflated number of events flowing.
This is because the form submission event is triggered even if there are form validation errors or the server returns another error.
Since Divi doesnβt provide any JavaScript events to hook into there is no straightforward way to find out if a message has actually been sent.
To get around this, this plugin listens to the network communication that is happening underneath. Itβs based on the same mechanism Divi itself uses.
There are three options now:
- a dataLayer event
- a Google Analytics 4 event (using gtag.js)
- a Google Ads conversion (also using gtag.js)
You can use either one of them or event all of them together.
Youβll be able to customize the dataLayer variable if youβre not using the standard naming, and the event names, separately for dataLayer and gtag.
Data layer reporting
The structure of the object pushed to the dataLayer is the following, with the default naming:
{
event: "contact_form_submit",
formId: string,
postId: number,
formData: {
name: string,
email: string,
message: string,
},
allFormData?: Record, // when "Include all form data" is enabled
}
Itβs up to you to use or discard the form data.
Google Analytics 4 reporting
The Google Analytics event is sent with flattened parameters:
gtag(
"event",
"contact_form_submit",
{
form_id: "divi/contact-form-0",
name: "John",
email: "[email protected]",
message: "Hello",
// additional fields when "Include all form data" is enabled
}
);
Form data (name, email, message) is included by default. When βInclude all form dataβ is enabled, all form fields are flattened into the event parameters.
This will only work if you have a Google Tag already deployed on the website i.e. the gtag() function is available. Otherwise, you will see a warning in your console like this:
Tracking for Divi: gtag event failed, gtag is not defined
Google Ads conversion reporting
The Google Ads conversion is sent like so:
gtag(
"event",
"conversion",
{
send_to: "/",
}
);
There is no default for conversion_id and conversion_label as they are always created individually in Google Ads.
This will only work if you have a Google Tag already deployed on the website i.e. the gtag() function is available. Otherwise, you will see a warning in your console like this:
Tracking for Divi: Google Ads conversion event failed, gtag is not defined
Note: This plugin hasnβt been thoroughly tested with Divi forms that redirect to a success page. The tracking works just as well, however the redirect could interrupt the tracking flow e.g. if Google Tag Manager has a lot of logic and doesnβt trigger the tags in time. The tags themselves these days use the beacon API (see MDN for reference) so the requests shouldnβt be interrupted as long as they are fired before website unload.
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| d*a*o*f*c*-*r*d*c*i*n*.com (WP 6.9.4) | A | 2026-04-30 21:45:06 | |
| d*a*o*f*c*-*r*d*c*i*n.com (WP 6.9.4) | A | 2026-04-30 21:45:06 | |
| m*n*e*r*s*o*a*a*a*a*.com | F | 2026-04-30 17:13:46 | |
| d*a*o*f*c*-*r*d*c*i*n*.de (WP 6.9.4) | A | 2026-04-30 11:36:27 | |
| t*e*a*e*a*r*e*.com | F | 2026-04-30 09:23:50 | |
| i*t*a*e*e*e*l*e*s*h*r*p*e*.com | F | 2026-04-29 16:53:49 | |
| o*a*a*c*.com | F | 2026-04-29 16:31:28 | |
| f*x*n*e*m*d*l.com | F | 2026-04-29 13:00:32 | |
| c*m*n*l*i.com | F | 2026-04-29 03:17:05 | |
| d*m*c*e*n*n*.com | F | 2026-04-29 01:38:39 | |
| l*c*s*d*l*s*i*o*.com | D | 2026-04-28 04:01:45 | |
| i*p*w*r*o*c*i*g.com | F | 2026-04-27 19:53:17 | |
| a*d*x*s.com (WP 6.9.4) | F | 2026-04-27 07:57:17 | |
| f*n*c*s*.c*.uk | F | 2026-04-26 21:28:21 | |
| m*s*r*u*i*.ae | F | 2026-04-26 21:18:03 | |
| r*s*p*o*u*t*o*.fr | D | 2026-04-26 07:00:52 | |
| f*m*d*c*l.com | F | 2026-04-26 05:46:48 | |
| d*f*m*d*a.be (WP 6.9.4) | F | 2026-04-25 10:28:44 | |
| a*d*x*s.be (WP 6.9.4) | F | 2026-04-24 01:27:48 | |
| t*o*e*g*o*z*n*a.com | F | 2026-04-21 13:25:00 | |
| a*i*s*l*t*o*s.com (WP 6.9.4) | F | 2026-04-18 19:10:17 | |
| a*i*e*p.com (WP 6.9.4) | F | 2026-04-18 19:10:17 | |
| a*i*-*r*.com (WP 6.9.4) | F | 2026-04-18 19:10:17 | |
| t*i*g*r*o*n*m*d*a.com (WP 6.9.4) | D | 2026-04-17 20:00:31 | |
| t*e*o*d.com | F | 2026-04-17 00:07:12 | |
| a*i*a*i*s.com | F | 2026-04-16 14:03:00 | |
| h*r*y*o*n*e*s*l*o*s.com | F | 2026-04-16 12:20:35 | |
| m*t*s*a*e*o*r*e*.com | F | 2026-04-16 06:05:28 | |
| r*f*i*e*a*i*n*n*a*p*i*n*e*e*a*r.com | F | 2026-04-16 01:53:40 | |
| e*p*r*m*t*i*.com | F | 2026-04-15 13:31:01 | |
| m*s*a*e*a*a*e*y.com | F | 2026-04-15 07:09:41 | |
| r*a*y*u*l*n*c.com | C | 2026-04-14 20:41:24 | |
| h*r*y*e*r*s*r*i*e*.com | D | 2026-04-14 05:46:12 | |
| h*r*y*o*c*e*e*o*t*n*s.com | F | 2026-04-14 05:46:10 | |
| s*n*1*.com | D | 2026-04-14 03:59:57 | |
| a*b*t*o*t*a*e*.pl | F | 2026-04-14 02:30:17 | |
| m*r*e*o*-*a.com | F | 2026-04-13 23:12:42 | |
| t*n*e.fr | F | 2026-04-13 04:35:58 | |
| b*i*k*c*o*n.com | F | 2026-04-11 20:26:20 | |
| b*i*c*c*o*n.com | F | 2026-04-11 19:25:09 | |
| b*i*c*s*h*o*.com | F | 2026-04-11 19:25:09 | |
| s*l*s*o*e*n.de | F | 2026-04-11 18:37:09 | |
| b*a*k*o*k*e*a.com | F | 2026-04-11 09:51:35 | |
| s*a*t*i*i*o*s.com | F | 2026-04-10 23:11:12 | |
| s*a*t*b*o*c*e*c*.com | C | 2026-04-10 19:40:31 | |
| q*a*t*e*h*r*z*n.com | F | 2026-04-10 17:35:23 | |
| p*p*o*k.com | F | 2026-04-09 18:28:33 | |
| c*e*t*v*i*t*m*.com | F | 2026-04-09 04:03:21 | |
| b*i*c*s*h*o*.nl | F | 2026-04-08 04:13:53 | |
| p*a*i*g*i*h*u*p*s*b*o*.com | F | 2026-04-08 02:29:28 | |
| t*n*e*s*e*c*t*e*a*y.com | F | 2026-04-07 06:22:26 | |
| t*k*c*n*r*l*a*l*.com | F | 2026-04-06 15:35:17 | |
| l*2*.com | F | 2026-04-04 19:46:37 | |
| s*l*c*y*o.com | F | 2026-04-03 23:45:24 | |
| s*e*t*.be | β | 2026-03-26 12:46:31 | |
| v*l*n*i*i*s*r*n*e.net | β | 2026-03-20 00:46:33 | |
| g*e*r.no | β | 2025-11-12 04:20:44 | |
| s*n*g*l*t*a*e*-*u*s*o*.com | β | 2025-11-10 10:06:48 | |
| s*m*e.com | β | 2025-11-10 10:03:40 | |
| s*-*e*t*d*.com | β | 2025-11-10 08:36:21 | |
| p*s*w*i*l.com | β | 2025-11-09 17:56:53 | |
| m*a*l*r*e*.com | β | 2025-11-09 08:39:22 | |
| m*t*k*i*i*a*z*z*c*n.com | β | 2025-11-09 07:26:29 | |
| j*k*s*.com | β | 2025-11-08 10:32:12 | |
| f*l*c*r*o*l*n*.com | β | 2025-11-07 19:01:40 | |
| e*i*a*a*s*n*r*a*i*e.com | β | 2025-11-07 10:36:14 | |
| b*t*u*e*o*t*.com | β | 2025-11-06 11:03:42 | |
| b*l*z*b*l*m*r*.com | β | 2025-11-06 10:11:56 | |
| b*r*e*w*l*l*f*c*n*r*l.com | β | 2025-11-06 09:07:36 |