Track Contact Form 7 Sends in Google Analytics 4
Sends a generate_lead event to Google Analytics 4 or Google Tag Manager each time a Contact Form 7 form is sent successfully, with the form ID attached.
Opens WPIDE on
Code
$wpide_cf7_event_name = 'generate_lead'; // GA4 event name.
add_action( 'wp_footer', function () use ( $wpide_cf7_event_name ) {
if ( ! wp_script_is( 'contact-form-7', 'enqueued' ) ) {
return;
}
?>
<script>
document.addEventListener( 'wpcf7mailsent', function ( event ) {
var name = <?php echo wp_json_encode( $wpide_cf7_event_name ); ?>;
var data = { form_id: String( event.detail.contactFormId ), form_type: 'contact-form-7' };
if ( typeof window.gtag === 'function' ) {
window.gtag( 'event', name, data );
} else {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push( Object.assign( { event: name }, data ) );
}
}, false );
</script>
<?php
} );
Notes
Works with gtag.js or a GTM dataLayer already on the site; rename the event at the top to match your conversion setup.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.