Contact Form 7 Google Analytics


Adds Google Analytics Event Tracking to all Contact Form 7 forms sitewide, using “Contact Form” as the Event Category, the Contact Form 7 event as the Event Action, and the form name as the Event Label.

Supports the most popular Google Analytics plugins, including the following:


  1. Install and activate the plugin
  2. Enable the actions you would like to send (if you skip this step, it will send all available actions).
  3. Enjoy!


What about GDPR (General Data Protection Regulation)?

This plugin does not collect or send any personal information or form submissions to Google Analytics. The only form-related information sent is the name of the form and the submission result (invalid, spam, mail sent, mail failed, and sent).

Google Analytics does collect more information including, but not limited to, the following:

  • Page name, URL, and language
  • Screen and window size
  • The user’s IP address

For more information, refer to Google’s compliance information.

Please also note that Contact Form 7 and other plugins may collect, process, or store user data.

Where will events show up?

Check your statistics in Google Analytics under Behavior > Events or under Real-Time > Events.

What events will be shown?

This depends on the settings you choose.

  • Invalid – Fires when an Ajax form submission has completed successfully, but mail hasn’t been sent because there are fields with invalid input.
  • Spam – Fires when an Ajax form submission has completed successfully, but mail hasn’t been sent because a possible spam activity has been detected.
  • Mail Sent – Fires when an Ajax form submission has completed successfully, and mail has been sent.
  • Mail Failed – Fires when an Ajax form submission has completed successfully, but it has failed in sending mail.
  • Sent – Fires when an Ajax form submission has completed successfully, regardless of other incidents.
    • This is the only event available if you have Contact Form 7 version 4.7 or earlier.
    • This is the only original event sent by this plugin. I recommend enabling the other four and disabling this event, unless you need it for old goals you had set up from several years ago.
How do I set a goal in Google Analytics?

Note: these instructions are provided for reference and may become out of date if Google Analytics changes their feature set or labels.

  1. Click on “Admin” in your Google Analytics account menubar
  2. In the right-most column (“View”), click on “Goals”
  3. Click on the “+ New Goal” button
  4. Set the Goal description
    1. Enter a name for the goal (I suggest “Contact Forms”)
    2. Choose the “Event” radio button and click “Continue”
  5. Set the Goal details
    1. Set “Category Equals to Contact Form 7”
    2. Set “Action Equals to ” and enter the event you wish to track (see above for a list of events)
    3. Optionally add a label using the name of the form if you want to define a goal for one specific form.
    4. Click the “Save” button
How do I use this with Google Tag Manager (gtm.js)?
  1. In your Google Tag Manager workspace, add a new Trigger.
    1. Choose trigger type: “Other/Custom Event”
    2. Set “Event name” to “Contact Form 7”
    3. Set “This trigger fires on” to “Some Custom Events”
    4. Set the dropdowns to “Event contains Contact Form 7”
    5. Save the trigger
  2. In your Google Tag Manager workspace, add a new Tag.
    1. Choose tag type: “Universal Analytics”
    2. Change “Track Type” to “Event”
    3. Set “Category” to “Contact Form 7”
    4. Set “Label” to “{{Event}}”
    5. Click in the “Triggering” box and choose the trigger you set up above.
  3. Save and publish your changes.


Produce 2 events

It works but.. it produce 2 different action, ‘Sent’ and ‘Mail Sent’. The problem is that in the GA Goals you can set only one of them so you must set 2 different goal for the same action.. how can fix that?

Great addition to CF7

Why did CF7 remove this much needed feature anyways and required a piece of code in functions.php? This plugin is much more user friendly. It rocks! And great support as well 🙂

Wow! So simple and it works!

I’ve been struggling with another plugin that just wouldn’t track my form submissions. Found this plugin and figured I give it a try. I was a little hesitant that there were no settings to configure but that is the beauty of it. As long as Google Analytics is set up on the site it just does the job.
Tested it on two different forms and GA immediately picked up the submissions. Sends all the info needed to create goals and reporting. It does send two actions (ie. Sent, Mail Sent) but it’s easy enough to filter those out.

Read all 11 reviews

Contributors & Developers

“Contact Form 7 Google Analytics” is open source software. The following people have contributed to this plugin.




  • Cache form titles and IDs for better performance.
  • Remove 1.7.0 admin upgrade notices.


  • Fix a bug causing events not to send due to upgrade logic.
  • Set default options if user has not selected events to send.


  • Add options to enable/disable the available event actions.


  • Update readme with goal tracking instructions


  • Update readme with GDPR notes



  • Fix error with undefined constant


  • Fix error with admin notice on PHP < 5.0



  • Add support for PHP < 5.3


  • Add support for Google Tag Manager


  • Add support for sending the Contact Form 7 form name instead of just the form ID


  • Update suppoprt for gtag.js custom events


  • Add support for the Global Site Tag (gtag.js)


  • Update to use new DOM events in Contact Form 7 v4.8


  • Fix JS issue if ga is undefined


  • Fix PHP undefined index issue


  • Fix issue where any manually-specified items were being deleted


  • Add support for Google Analytics by Yoast


  • First stable version