Skip to content
FluentForms Summer Sale UPTo40%

Build WordPress Forms that Convert

Get Discount
Fluent Forms
  • Pricing
  • Features
  • Templates
  • Integrations
  • Blog
  • Docs
  • Account
Sign in

FluentForms Summer Sale UPTo40%

Get Discount
Fluent Forms
Popular Search submitsubmissionentryentriespayment

Developer Docs

  • Database Tables of Fluent Forms
  • Submission Lifecycle
  • Integration Feed – Fields API
  • Creating Custom SmartCode for Form Editor
  • Limit Email Domains in Fluent Forms Form Submission
  • Email verification with Emailable
  • Email Confirmation Field
  • How to make a login form with Fluent Form
  • How to make a strong password requirement in user registration forms with Fluent Forms
  • Create Unique Fields in Fluent Forms
  • Populate dropdown field options from Google Sheet
  • Form PHP API
  • PHP Action Hooks
  • PHP Filter Hooks
  • Useful Snippets
  • Creating Pretty Conversational Form URL Slug
  • How to create your own custom field with Fluent Forms
  • Changelog

Action Hooks

  • fluentform/before_insert_submission
  • fluentform/submission_inserted
  • fluentform/before_submission_confirmation
  • fluentform/inserted_new_form
  • fluentform/before_form_render
  • fluentform/loaded
  • fluentform/before_form_actions_processing
  • fluentform/before_insert_payment_form
  • flentform/form_duplicated
  • fluentform/form_imported
  • fluentform/after_save_form_settings
  • fluentform/editor_init
  • fluentform/loading_editor_assets
  • fluentform/before_editor_start
  • fluentform/after_editor_start
  • fluentform/after_form_screen_wrapper
  • fluentform/before_form_screen_wrapper
  • fluentform/render_item_{$item}
  • fluentform/after_form_render
  • fluentform/form_element_start
  • fluentform/render_item_step_start
  • fluentform/render_item_step_end
  • fluentform/rendering_calculation_form
  • fluentform/maybe_scheduled_jobs
  • fluentform/do_email_report_scheduled_tasks
  • fluentform/before_permission_set_assignment
  • fluentform/after_permission_set_assignment
  • fluentform/global_menu
  • fluentform/after_form_navigation
  • fluentform/form_application_view_{$route}
  • fluentform/init_custom_stylesheet
  • fluentform/load_form_assets
  • fluentform/scripts_registered
  • fluentform/render_payment_entries
  • fluentform/pre_load_scripts
  • fluentform/submission_note_stored
  • fluentform/starting_file_upload
  • fluentform/global_notify_completed
  • fluentform/save_global_integration_settings_{ $settingsKey}
  • fluentform/integration_action_result
  • fluentform/email_summary_details
  • fluentform/email_template_after_footer
  • fluentform/addons_page_render_{$current_menu_item}
  • fluentform/before_form_settings_app
  • fluentform/after_form_settings_app
  • fluentform/form_settings_container_{$current_sub_route}
  • fluentform/before_global_settings_wrapper
  • fluentform/after_global_settings_wrapper
  • fluentform/global_settings_component_{$currentComponent}
  • fluentform/after_global_settings_option_render
  • fluentform/before_global_settings_option_render
  • fluentform/before_tools_wrapper
  • fluentform/after_tools_wrapper
  • fluentform/before_tools_container
  • fluentform/after_tools_container
  • fluentform/form_styler
  • fluentform/after_style_generated
  • fluentform/conversational_frame_head
  • fluentform/conversational_frame_footer
  • fluentform/user_registration_before_start
  • fluentform/created_user
  • fluentform/user_registration_completed
  • fluentform/post_integration_success
  • fluentform/entry_confirmation
  • fluentform/before_partial_entry_deleted
  • fluentform/after_partial_entry_deleted
  • flunetform/render_payment_entries
  • fluentform/before_all_entries_render
  • fluentform/after_all_entries_render
  • fluentform/before_deleting_entries
  • fluentform/after_deleting_entries
  • fluentform/payment_receipt_before_content
  • fluentform/payment_receipt_after_content
  • fluentform/payment_frameless_{$paymentMethod}
  • fluentform/rending_payment_method_{$methodName}
  • fluentform/payment_method_render_{$methodName}
  • fluentform/before_payment_status_change
  • fluentform/after_payment_status_change
  • fluentform/payment_refunded_{$method}
  • fluentform/payment_refunded
  • fluentform/payment_refund_updated_{$method}
  • fluentform/payment_refund_updated
  • fluentform/ipn_paypal_action_{$txn_type}
  • fluentform/ipn_endpoint_{$paymentMethod}
  • fluentform/ipn_paypal_action_web_accept

Filter Hooks

  • fluentform/insert_response_data
  • fluentform/filter_insert_data
  • fluentform/submission_confirmation
  • fluentform/validate_input_item_{input_key}
  • fluentform/entry_statuses_core
  • fluentform/rendering_field_data_{INPUT_KEY}
  • fluentform/email_body
  • fluentform/rendering_field_data_select
  • fluentform/filter_email_attachments
  • fluentform/rendering_form
  • fluentform/is_form_renderable
  • fluentform/is_handling_submission
  • fluentform/validation_errors
  • fluentform/honeypot_name
  • fluentform/before_render_item
  • fluentform/rendering_field_html_{$elementName}
  • fluentform/skip_no_conflict
  • fluentform/load_styles
  • fluentform/load_default_public
  • fluentform/is_hide_submit_btn_{ $formId}
  • fluentform/form_class
  • fluentform/html_attributes
  • fluentform/editor_shortcodes
  • fluentform/shortcode_parser_callback_{smart_code_name}
  • fluentform/all_editor_shortcodes
  • fluentform/smartcode_group_{$group}
  • fluentform/payment_smartcode
  • fluentform/entry_statuses_core
  • fluentform/nonce_verify
  • fluentform/nonce_error
  • fluentform/numeric_styles
  • fluentform/akismet_fields
  • fluentform/will_return_html
  • fluentform/honeypot_status
  • fluentform/dashboard_notices
  • fluentform/is_admin_page
  • fluentform/single_response_data
  • fluentform/available_date_formats
  • fluentform/permission_set
  • fluentform/api_all_logs
  • fluentform/api_success_log
  • fluentform/api_failed_log
  • fluentform/truncate_password_values
  • fluentform/verify_user_permission_{ $eachPermission}
  • fluentform/permission_callback
  • fluentform/nonce_error
  • fluentform/editor_init_element_{$element}
  • fluentform/editor_validation_rule_settings
  • fluentform/editor_element_settings_placement
  • fluentform/editor_components
  • fluentform/editor_countries
  • fluentform/editor_element_customization_settings
  • fluentform/addons_extra_menu
  • fluentform/global_addons
  • fluentform/global_integration_settings_{$settingsKey}
  • fluentform/global_integration_fields_{$settingsKey}
  • fluentform/global_notification_active_types
  • fluentform/notifying_async_{$integrationKey}
  • fluentform/mailchimp_keep_existing_interests
  • fluentform/mailchimp_keep_existing_tags
  • fluentform/global_notification_feed_{$meta_key}
  • fluentform/integration_data_{$integrationKey}
  • fluentform/shortcode_defaults
  • fluentform/info_shortcode_defaults
  • fluentform/get_raw_responses
  • fluentform/export_data
  • fluentform/shortcode_feed_text
  • fluentform/entry_lists_labels
  • fluentform/all_entries
  • fluentform/step_string
  • fluentform/global_form_vars
  • fluentform/all_entry_labels
  • fluentform/all_entry_labels_with_payment
  • fluentforms/recaptcha_v3_ref_score
  • fluentform/auto_read
  • fluentform/create_default_settings
  • fluentform/form_fields_update
  • fluentform/submissions_widgets
  • fluentform/disabled_analytics
  • fluentform/submission_notes
  • fluentform/store_submission_note
  • fluentform/disable_attachment_delete
  • fluentform/response_render_{element}
  • fluentform/settings_module_{$module}
  • fluentform/rendering_field_html_{$element}
  • fluentform/validation_message_{$ruleName}
  • fluentform/item_rules_{$item}
  • fluentform/send_plain_html_email
  • fluentform/submission_message_parse
  • fluentform/email_subject
  • fluentform/email_body
  • fluentform/email_to
  • fluentform/email_header
  • fluentform/email_footer
  • fluentform/email_styles
  • fluentform/email_template_footer_text
  • fluentform/email_attachments
  • fluentform/email_summary_body_text
  • fluentform/email_summary_footer_text
  • fluentform/email_content_type_header
  • fluentform/email_template_header_image
  • fluentform/email_template_email_heading
  • fluentform/email_template_colors
  • fluentform/nonce_verify
  • fluentform/popup_shortcode_defaults
  • fluentform/survey_shortcode_defaults
  • fluentform/itl_options
  • fluentform/ip_provider
  • fluentform/post_type_selection_types_args
  • fluentform/post_selection_types
  • fluentform/post_selection_posts_pre_data
  • fluentform/post_selection_label_by
  • fluentform/user_registration_field_defaults
  • fluentform/icontact_request_args
  • fluentform/user_registration_feed_fields
  • fluentorm/user_registration_creatable_roles
  • fluentform/payment_settings_{$method}
  • fluentform/payment_method_settings_validation_{$method}
  • fluentform/payment_submission_data
  • fluentform/submission_order_items
  • fluentform/payment_field_{$elementName}
  • fluentform/stripe_checkout_args
  • fluentform/uploader_args
  • fluentform/file_uploaded
  • fluentform/file_upload_params
  • fluentform/default_upload_path
  • fluentform/file_upload_validations
  • fluentform/file_upload_validation_error
  • fluentform/disable_inputmode
  • fluentform/file_type_options
  • fluentform/default_upload_path

Reference API Classes

  • BaseFieldManager Class
  • Integration Manager Class
  • PDF Template Manager Class
  • Base Payment Method Class
  • BaseProcessor Class

Data Definations

  • $submission_data Array
  • $form Object

Getting Started

  • How to Install Fluent Forms
  • Upgrade to Fluent Forms Pro Add-on
  • Fluent Forms Glossary
  • Getting Started With Fluent Forms
  • Fluent Forms User Interface

Form Building

  • Manage Entries
    • Edit User Submitted Entries With Fluent Forms
    • Visual Representation of Form Entries in Fluent Forms
    • Managing Entries in Fluent Forms
  • Form Settings
    • Error Message Customization with Fluent Forms
    • User Login Requirement in Fluent Forms
    • Restrict Blank Form Submission with Fluent Forms
    • Help Message Customization in Fluent Forms
  • Publishing Form
    • How to embed your forms directly in Gutenberg layout
    • Dedicated Landing Page in Fluent Forms
    • How to Use Your Forms as Widget on your Sidebar or Footer
    • How to embed your forms using Elementor Widget
    • Fluent Forms with Oxygen Builder Widget
  • Form Style/Template
    • Modal/Popup/Lightbox in Fluent Forms
    • Fluent Forms Styling/Custom CSS
    • Official Form Styler of Fluent Forms
    • Form Layout Settings in Fluent Forms
  • Form Editor
    • How to Create a Form with Fluent Forms
    • Using and Customizing Pre-built Quick Forms in Fluent Forms
    • How to create a conversational form 
    • How to Design a Conversational Form 
    • How to Create a Form with OpenAI ChatGPT
    • How to Create a Form with Fluent Forms AI

Field Types

  • General Fields
    • Address Input Field in Fluent Forms
    • Name Input Field in Fluent Forms
    • CheckBox Field in Fluent Forms
    • Phone/Mobile Input Field in Fluent Forms
    • Dropdown Field in Fluent Forms
    • Email Address Input Field in Fluent Forms
    • Custom HTML Field in Fluent Forms
    • File Upload Input Field in Fluent Forms
    • Image Upload Input Field in Fluent Form
    • Multiple Choice Field in Fluent Forms
    • Numeric Input Field in Fluent Forms
    • Radio Field in Fluent Forms
    • Adding a Mask Input Field Guide
    • Adding a Simple Text Input Field
    • Adding a Text Area Input Field
    • Website URL Input Field Guide
    • Time & Date Input Field in Fluent Forms
    • Country List Field in Fluent Form
  • Advance Fields
    • Creating a Multi-Step Form in Fluent Forms  
    • hCaptcha in Fluent Forms
    • Hidden Input Field in Fluent Forms
    • Ratings Input Field in Fluent Forms
    • reCAPTCHA Field in Fluent Forms
    • Section Break in Fluent Forms
    • Terms & Conditions Field in Fluent Forms
    • Shortcode Input Field in Fluent Forms
    • Action Hook Field in Fluent Forms
    • Checkable Grid Input Field in Fluent Forms
    • GDPR Agreement Field in Fluent Forms
    • Password Input Field in Fluent Forms
    • Custom Submit Button in Fluent Forms
    • Range Slider Field in Fluent Forms
    • Net Promoter Score in Fluent Forms
    • Chained Select Field in Fluent Forms
    • Color Picker Field in Fluent Forms
    • Repeat Input Field in Fluent Forms
    • Rich Text Input Field in Fluent Forms
    • Save Progress Button in Fluent Forms
    • Quiz Score in Fluent Forms
    • Dynamic Field in Fluent Form  
    • FluentBooking Field in Fluent Form
  • Payment Fields
    • Add Subscription Field in Payment Forms 
    • Add Coupon Field in Payment Forms  
    • Add Payment Item Field in Payment Forms 
    • Add Payment Summary Field in Payment Forms 
    • Add Item Quantity Field in Payment Forms 
    • Add Custom Payment Amount Field in Payment Forms 
    • Add Payment Method Field in Payment Forms 
  • Container Fields
    • Add Container Fields in Fluent Forms
    • Add Repeat Container Field in Fluent Forms 
  • Post Fields
    • Add Post Title Field in Post Forms 
    • Add Post Content Field in Post Forms
    • Add Featured Image Field in Post Forms 
    • Add Post Excerpt Field in Post Forms 
    • How to Create a Post Form with Fluent Forms
    • Add Post Update Field in Post Forms
  • Taxonomy Fields
    • Add Categories Taxonomy Field in Post Forms
    • Add Tags Taxonomy Field in Post Forms

Form Notification

  • Conditional Email Notification in Fluent Forms
  • Conditional Email Routing 
  • How to Setup Admin/User Email Notifications  
  • Weekly Email Summary
  • Setup Form Submission Confirmation Message in Fluent Forms
  • Fluent Forms Not Sending Email Confirmations

Form Entries

  • How to Search and Filter Form Entries
  • How to Add a Date and Time Stamp to Form Entries
  • Partial Entries for Step Forms
  • Front End Entry View

Features and Functionalities

  • Conditional Confirmation Message in Fluent Forms
  • Unique Field Validation
  • Surveys and Polls in Fluent Forms
  • Set up Forms with Conditional Logic in Fluent Forms
  • Set up Double Opt-in emails in Fluent Forms
  • Inline Opt-in Form using Fluent Forms
  • Form Scheduling Feature in Fluent Forms
  • Form Restrictions Feature in Fluent Forms
  • Fluent Forms Quiz Module
  • Dynamic Default Value in Fluent Forms
  • How to use Meta Box Custom Fields with Fluent Forms
  • How to Create a WordPress User Registration Form With Fluent Forms
  • Post Selection Module in Fluent Forms
  • How to add Calc Values on the Repeat Field
  • Edit History Feature in Fluent Forms
  • Keyboard Navigation & Shortcuts in Fluent Forms
  • Use ACF to Add a Custom Field in the Post Form
  • Numeric Calculation in Fluent Forms
  • Admin Approval Feature in Fluent Forms
  • Global Inventory Manager in Fluent Forms
  • Fluent Forms Inventory Module
  • Creating a Personality Quiz Form in Fluent Forms
  • How to Create a WordPress User Update Form With Fluent Forms
  • Resizeable Container in Fluent Forms
  • Dynamic Input Values In Form Steps | Fluent Forms
  • Using JetEngine Custom Fields with Fluent Forms
  • Fluent Forms PDF Module
  • Mapping Meta Fields with Meta Keys in Fluent Forms
  • Set Default Form Value from URL Parameters
  • Translate Forms with WPML

Integrations

  • Email Marketing
    • How to Integrate ActiveCampaign with Fluent Forms
    • How to Integrate CleverReach with Fluent Forms
    • How to Integrate iContact with Fluent Forms
    • How to Integrate Kit (Former ConvertKit) with Fluent Forms
    • How to Integrate GetResponse with Fluent Forms  
    • How to Integrate Mailchimp with Fluent Forms  
    • How to Integrate MailerLite with Fluent Forms
    • Mailpoet Integration with Fluent Forms
    • Mautic Integration with Fluent Forms
    • How to Integrate Gist with Fluent Forms
    • How to Integrate MooSend with Fluent Forms
    • How to Integrate Brevo (Formerly Sendinblue) with Fluent Forms  
    • How to Integrate Constant Contact with Fluent Forms 
    • ClickSend SMS Integration with Fluent Forms
    • Automizy Integration with Fluent Forms
    • How to Integrate Mailjet with Fluent Forms
    • How to Integrate Mailster with Fluent Forms 
    • How to Integrate SendFox with Fluent Forms
    • How to Integrate Campaign Monitor with Fluent Forms
    • Gist Integration with Fluent Forms
  • CRM
    • AmoCRM Integration with Fluent Forms
    • Salesflare Integration with Fluent Forms
    • Pipedrive Integration with Fluent Forms
    • OnePageCRM Integration with Fluent Forms
    • Drip Integration with Fluent Forms
    • Zoho CRM Integration with Fluent Forms
    • FluentCRM integration with Fluent Forms
    • HubSpot Integration with Fluent Forms
    • Salesforce Integration with Fluent Forms
    • Insightly Integration with Fluent Forms
  • Automation
    • How to Integrate Webhook with Fluent Forms
    • How to Integrate Zapier with Fluent Forms
    • How to Integrate Platformly with Fluent Forms 
  • Notification
    • How to Integrate Telegram with Fluent Forms
    • How to Integrate Discord with Fluent Forms
    • How to Integrate Slack with Fluent Forms
  • Security
    • Spam Protection With Honeypot and Google reCAPTCHA in Fluent Forms
    • How to Integrate reCAPTCHA with Fluent Forms
    • How to Integrate hCaptcha with Fluent Forms
    • How to Integrate Cloudflare Turnstile with Fluent Forms
    • Integrate Akismet with Fluent Forms
  • Others
    • How to Integrate Google Sheets with Fluent Forms
    • How to Integrate Trello with Fluent Forms 
    • Twilio Integration with Fluent Forms
    • How to Integrate Airtable with Fluent Forms
    • How to Integrate BuddyBoss with Fluent Forms  
    • How to Integrate Notion with Fluent Forms    
    • How to Integrate Google Maps with Fluent Forms
    • How to Integrate OpenAI ChatGPT with Fluent Forms

Import/Export

  • Fluent Forms Migrator (WPForms, Contact Form 7, Gravity Forms, Ninja Forms & Caldera Forms)
  • How to Import and Export Fluent Forms
  • Importing Entries in Fluent Forms

Payment

  • Configure Payment Settings with Fluent Forms
  • How to Create a Payment Form with Fluent Form
  • Payment Integration
    • How to Integrate Square with Fluent Forms (Inline Payment Integration)
    • How to Integrate Stripe with Fluent Forms
    • How to Integrate PayPal with Fluent Forms
    • How to Integrate Razorpay with Fluent Forms
    • How to Integrate Mollie with Fluent Forms
    • How to Integrate Paystack with Fluent Forms
    • How to Integrate Paddle with Fluent Forms

Miscellaneous

  • Set Scroll Offset of Form Steps
  • How to use CSS Ready Classes
  • Connecting Fluent Forms from one domain with Fluent CRM to another domain
  • Phone Field GEO-Location Provider
  • Translate Datepicker Field of Fluent Forms Plugin
  • Email Validation With ClearOut
  • Show Fluent Forms Entries in Frontend using Ninja Tables
  • Fluent Forms Activity Logs
  • Fluent Form API Logs
  • Fluent Forms Global Search
  • Fluent Forms Event Tracking with Google Analytics (GA4) via Google Tag Manager

Account Management

  • Setting up Managers in Fluent Forms (Access Control)

Shortcode

  • Form Editor Smart Codes
  • Conditional Shortcodes in Fluent Forms
  • Fluent Forms Shortcodes Overview
  • Shortcodes in Confirmation Settings
  • Pre-Fill Form Fields with FluentCRM Data
View Categories
  • Home
  • Docs
  • Miscellaneous
  • Fluent Forms Event Tracking with Google Analytics (GA4) via Google Tag Manager

Fluent Forms Event Tracking with Google Analytics (GA4) via Google Tag Manager

Fluent Forms, one of WordPress’s most powerful form builders, allows seamless integration with Google Analytics (GA4) through Google Tag Manager (GTM). This helps track user form engagements and improve conversions.

This document applies to the latest Google Analytics: GA4.

Notice: This method works for both classic and conversational forms.

Overview #

This guide will show you how to set up tracking for your website’s forms. The goal is simple: we want to know two main things:

  1. How many people see your form.
  2. How many people actually fill it out and submit it.

Knowing this is incredibly helpful because it helps you stop guessing. You can finally get answers to questions like, “Is my contact form too long and complicated?” or “Are people even finding my signup form?”

With this setup, you can:

  • See the real problem: Find out if a lot of people are viewing a form but then giving up without submitting it.
  • Make smart changes: Test new ideas, like removing a field or changing your “Submit” button’s text, and see if it actually helps more people finish the form.
  • Get better results: Use what you learn to get more contacts, signups, or quotes from your website.
How the Three Tools Work Together

To make this happen, we use three tools that work together as a team:

  1. Fluent Forms: This is simply the form on your WordPress site. When someone sees the form or submits it, Fluent Forms sends out a little signal.
  2. Google Tag Manager (GTM): Think of this as the helpful “middleman” or a post office. Its job is to catch those signals from Fluent Forms. It grabs the important information, like the form’s name and the action (whether it was viewed or submitted).
  3. Google Analytics 4 (GA4): This is your main dashboard where you see all the results. GTM sends a neat, organized report over to GA4. This allows you to log in and easily see things like, “100 people saw the ‘Request a Quote’ form this week, and 10 people submitted it.”
Tag Manager 56283

GTM Elements for Fluent Forms Events #

TagsTriggersVariables
213 (2 Required, 1 Optional)
TypecHTML,
GA 4 Configuration
Custom Event2 Data Layer,
1 JavaScript

Types of Tags, Triggers, and Variables:

  • Tags: Custom HTML, GA4 Configuration
  • Triggers: Custom Event
  • Variables: 2 Data Layer Variables, 1 JavaScript Variable

A built-in variable [Event] will be used to identify the type of Fluent Forms events.

1. Creating Fluent Forms Variables #

Variables are Data Types to define the properties and their values that come or are pushed from the website.

First, navigate to the Variables tab in your Google Tag Manager workspace. From there, find the User-Defined Variables area and click the New button to create a new variable.

Add gtm Variable wpmn 56283

Your Variable properties should be like this:

TitleFluentFormID
Variable TypeData Layer Variable
Data Layer Variable NameFluentFormID
Data Layer VersionVersion 2
add gtm datalayer variable wpmn 56283

Create Another Variable using the following configuration:

TitleFluentFormEventAction
Variable TypeData Layer Variable
Data Layer Variable NameeventAction
Data Layer VersionVersion 2
3 1 56283

[Optional] Create Another Variable using the following configuration to display the Form Page Title:

add js gtm variable wpmn 56283

2. Creating Fluent Forms Trigger: #

In Google Tag Manager, a Trigger defines the specific conditions that cause a Tag to fire. For this setup, we need to create a custom trigger that activates when it detects a Fluent Forms event, such as a form view or submission.

To do this, go to the Triggers section in your GTM workspace and click the New button to open the trigger editor.

add gtm trigger wpmn 56283

Now follow the data below to create the trigger:

TitleFluentFormActivitiesEvent
Event TypeCustom Event
Event NameFluentFormActivities
Trigger Fires onAll Custom Events
add gtm event action trigger wpmn 56283

3. Creating Fluent Forms Tags: #

Now that we have our “when” (the Trigger), it’s time to set up the “what” – the Tag. A Tag is the actual task or job that Google Tag Manager performs when a trigger is activated. For this project to work correctly, we will create a team of two different tags that work together.

We will be using a Google Analytics: GA4 Configuration type of Tag and then pass the form events data from the website using a Custom JavaScript Snippet attached to webpages, and also by the Google Tag Manager itself, by another Custom HTML type Tag.

Let’s create the Custom HTML Tag first as below:

Go to Tags and click New

add gtm tags wpmn 56283

Then select Tag Type as Custom HTML and put the Custom Code provided below inside the GTM Code Editor with the provided data:

TitlecHTML – FluentFormsDataPush
Tag TypeCustom HTML
📄
Custom HTML Tag.js
<script>
(function($){
  var fluentForms = $('.frm-fluent-form');
  fluentForms.each(function() {
    var $form = $(this);
    var formId = $form.attr('data-form_id');
    dataLayer.push({
      'event': 'FluentFormActivities',
      'eventCategory': 'FluentForm',
      'eventAction': 'FormView',
      'FluentFormID' : formId
    });
    $form.on('fluentform_submission_success', function() {
      dataLayer.push({
        'event': 'FluentFormActivities',
        'eventCategory': 'FluentForm',
        'eventAction': 'FormSubmitted',
        'FluentFormID' : formId
      });
    });
  });
})(jQuery);
</script>
add cHTML tag wpmn 56283

When that code is inserted, please click anywhere inside the Triggering Field and select Firing Triggers as Page View [ All Pages] as below:

add cHTML tag trigger wpmn 1 56283

Now we are almost close to achieving our target and need to create one last Tag which will fetch the event data and then forward it to Google Analytics. We will also format the properties that will be sent to Google Analytics.

Again, go to Tags and select Google Tag as below:

Google Tag Manager 1 scaled 56283

Now, here you have to give Google Analytics 4 Measurement ID and then configure the settings variable.

2 1 scaled 56283
TitleFluentForms – GA4
Tag TypeGoogle Analytics: GA4 Configuration
Measurement IDG-XXXXXXXX [Follow instructions below to grab this code]

Fields to Set:

debug_modetrueFor Debug View
EventType{{Event}}Select as Variable
EventAction{{FluentFormEventAction}}Select as Variable
FormID{{FluentFormID}}Select as Variable
FormName{{FluentFormName}}Select as Variable
Google Tag Manager 3 scaled 56283

Google Analytics 4 Measurement ID #

To get the Google Analytics 4 Measurement ID, please follow the steps below:

Go to your Google Analytics Dashboard and then click on Admin (Gear Icon on the Bottom Left of the page).

gtm ga4 property wpmn 56283

Then select the target account or create a new one with your desired details. Also, select an existing Property if you already have one, or create a new one with the desired details. Under the Property Name, the Data Streams option is available, and then click on it.

gtm ga4 add stream wpmn 566 56283

Now, create a new DataStream as Web if your website is not already configured. Provide an appropriate URL without a protocol and a Stream Name.

gtm setup stream wpmn 67 56283

[Optional] Then, please click on the Gear icon to select the data we will need for Fluent Forms Event tracking only. We will only need Page Views and do not need other types. Those types of data will also bring unnecessary data to Google Analytics, which we will not need for Fluent Forms Events.

gtm ga4 enhanced option wpmn77 56283

Now, after clicking on Save, you will see the Data Stream details, and now copy the Measurement ID, which we need to put in Google Tag Manager.

ga4 measurementID wpmn 87 56283

Now, let’s get back to the last Tag we created. When the Google Analytics Setting is also selected, it is time to select the trigger, like we previously did for Custom HTML.

This time, select the Trigger we created previously, named FluentFormActivitiesEvent

Google Tag Manager 4 97 scaled 56283

Now we are done with tasks. We can now debug what we just did live in Preview Mode or make the settings public by Publishing from the Workspace.

Google Tag Manager 1 100 scaled 56283

Type in a meaningful Version Name, which can be anything for future purposes; if anything goes wrong while working in the future, identify work done until now and revert to this stage if we like.

gtm ga4 version name wpmn 101 56283

Since this method is confirmed for Fluent Forms I am going to publish my workspace and then check in Google Analytics by opening a Page that contains a Fluent Form, and then submit the form with some data and check the Events inside Google Analytics.

4. Final result in Google Analytics #

The sample form, which is being teste,d looks like the below:

gtm ga test sample form wpmn 102 56283

After the page loads, even without clicking anything on the page, the form sends an event named FormView to GTM, and then it is triggered by our configuration, and now shows up in Google Analytics.

gtm ga4 formview event wpmn 103 56283

Expand the page_view Event for further details.

gtm ga4 formview 4events wpmn 104 56283

Also after submitting the form, we can see there is another event is pushed which is FormSubmitted

gtm ga4 form submission wpmn 105 56283

Expand any 4 types of Event Data to see more details:

gtm ga4 event details wpmn 106 56283

There is a super-advanced feature of Google Analytics 4 that we will explore for our Fluent Forms Events. While configuring our Tag Manager Google Analytics GA4 configuration, we enabled Debug View, and now we can explore that as below:

gtm ga4 debug view wpmn 107 56283

That’s it. Now you will get events to Google Analytics for all the Fluent Forms on your website.

Enjoy Fluent Forms as the most powerful form plugin for WordPress!

What are your Feelings
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on July 25, 2025
Fluent Forms Global Search

Powered by BetterDocs

Table of Contents
  • Overview
  • GTM Elements for Fluent Forms Events
  • 1. Creating Fluent Forms Variables
  • 2. Creating Fluent Forms Trigger:
  • 3. Creating Fluent Forms Tags:
    • Google Analytics 4 Measurement ID
    • 4. Final result in Google Analytics

Fluent Forms is a lightweight, fastest WordPress contact form plugin empowering 600K+ businesses worldwide.

Email Newsletter

fluentform Newsletter Inline
Free tutorials, exclusive contents & more.
Facebook Facebook Group Twitter Instagram Linkedin YouTube WordPress

Resources

  • Account
  • Contact Us
  • Get Support
  • Brand Guideline
  • Changelog
  • Documentation
  • Developers Docs
  • API Docs
  • Report a Security Issue

Addons

  • Signature
  • PDF Generator (Free)
  • Mautic (Free)
  • Mailpoet (Free)

Calculators

  • BMI Calculator
  • GKI Calculator
  • Pay Raise Calculator
  • VAT Calculator
  • Fuel Cost Calculator
  • All Calculator Forms

Comparison

  • Free vs. Pro
  • Fluent Forms vs. WPForms
  • Fluent Forms vs. Gravity Forms
  • Fluent Forms vs. Ninja Forms
  • Fluent Forms vs. Forminator

Miscellaneous

  • Features Available in Free Version
  • Form Templates
  • Quick Start Guide
  • Fluent Forms Integrations

Features

  • Conversational Forms
  • Multi-Step Forms
  • Conditional Logic
  • Numeric Calculation
  • Payment
  • Quiz and Survey
  • Form Security
  • Advanced Form Styler
  • Advanced Post Creation
  • Address Autocomplete
  • Form to PDF
  • AI Form Builder

OUR PRODUCTS

  • FluentCommunity
  • FluentCRM
  • FluentBooking
  • FluentBoards
  • Fluent Support
  • FluentSMTP
  • Ninja Tables
  • WP Social Ninja
  • Paymattic
  • AzonPress
  • FluentSnippets

Copyright © 2025 Fluent Forms, a brand of WPManageNinja™. Privacy Policy and Terms & Conditions apply.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The Free Version of Fluent Forms is Ready! We’ll send it to your email.
Direct Download – CTA- Homepage

By downloading you agree to our terms of use and privacy policy.

  • Pricing
  • Features
  • Templates
  • Integrations
  • Blog
  • Docs
  • Account