How to Configure Gravity Forms Submissions as Conversions in Google Ads

Directly integrating Gravity Forms with Google Ads can be done, but it involves extra code maintenance that, depending on your approach, we’ve seen broken by something as innocuous as an SEO plugin.

You’re probably already running Google Analytics on your website, so let’s use that.

Step 1: Install Gravity Forms Google Analytics Plugin

Assuming you’re already running Google Analytics 4 in some capacity on your site, we’re going to skip that. Site Kit is a fine tool if you aren’t.

Next, you’ll want to install and activate the Gravity Forms Google Analytics extension.

Step 2: Configure Basic Google Analytics Event Tracking in Gravity Forms

Once installed, you can set up basic tracking of form submissions by Google Analytics.

First, navigate to Gravity Forms > Settings. You’ll see a new Google Analytics tab. We chose the Google Analytics option for integration, as this will include source and medium data important for AdWords conversions without being too advanced. Connect that to the existing GA4 account and data stream you’re already collecting traffic on. Leave “I already have Google Analytics installed.” checked. You can have Gravity Forms output the tracking script, but as mentioned, we prefer using Site Kit for that. UA Tracker Name is not typically necessary.

Now the actual recording of an event has to be set up on a per-form basis. Navigate to Settings for the form you want to track and you’ll see a new Google Analytics settings tab. Here it’ll have you create a new “feed”. The defaults are fine here. Save and move on.

Pro-tip: You can add a value to your conversion if you know, in dollars and cents, how you value a submission.

For example, if a sale is, on average, worth $1000, and you have enough sales data to suggest that you convert 10% of leads, then you can take $1000 * .1 to get a value of $100 for each lead.

Alternatively, you might have a field that indicates the value of the submission, like if your form includes a product purchase.

To configure this, use the custom parameter fields and create one called value and one called currency. value should reflect the value of that submission—a fixed value or based on user inputs—and currency should be in ISO-4217 currency format (such as “USD”).

This important information will get sent to Google Analytics, and ultimately Google Ads, helping you better understand the overall conversion value of your campaign.

Step 3: Send Event Data to Google Analytics

Go ahead and fill out and submit this form. Google Analytics will not show you this event for further configuration until one happens, and it’s good to make sure everything is working anyway. The default event name is “gforms_submission”.

Navigate to the page with your form. In Google Analytics’s Realtime Overview, you should see someone (you) on the page with the form (it may take 15-30 seconds to refresh).

Once you submit the form, the event should appear in the Realtime overview in the “Event count by Event name” box.

Testing pro-tips:

  • Use a private window so you aren’t logged in, which may disable Google Analytics tracking
  • Turn off any blockers (like Firefox’s default), which also may disable tracking

The next steps will not work until your event has been recorded by Google Analytics.

Step 4: Connect Google Analytics to Google Ads

Navigate to the “Advertising” tab in the left-most menu in Google Analytics. If you haven’t already, you’ll be prompted to connect to Google Ads. Select the correct Google Ads account. The defaults are okay but feel free to review per your needs.

Step 5: Track Submissions as Key Events

Google Analytics “conversions” don’t exist in that sense anymore. They’re now referred to as “Key Events”.

Navigate to the “Admin” section of Google Analytics (bottom-left corner). In the left-hand menu, find “Events” under “Data Display”.

Change to the “Recent Events” tab to find your custom event. Click the little star next to it to mark it as a key event.

If you’re following along with this guide in real-time, your new Gravity Forms event probably won’t appear. It may take anywhere from 12-48 hours to be processed by Google Analytics and appear in this list.

Step 6: Send Event to Google Ads

Linking Google Ads (step 4) will unlock new options in Advertising. You should now see “Tools”, and “Conversion Management” under it. Click “Create Conversion Action”. Select the Google Ads account you linked and click “Next”. You should now see a bunch of Events that happen on your website. Select the correct category for your new event (probably “Submit lead form”), finish the review, and hit Save.

Once again, if you’re following along with this guide in real-time (and skipped Step 5), your new Gravity Forms event probably won’t appear. It may take anywhere from 12-48 hours to be processed by Google Analytics and appear in this list.

By default, this is going to get set up in Google Ads as a “secondary” action, meaning Google Ads will use it for observation but won’t optimize your ads for that event.

Further configuration and campaign creation, done in Google Ads, is outside the scope of this guide. You’re now all set with Gravity Forms form submissions in your Google Ads account as conversions.

Bonus: Customize the Event Name Per Gravity Form

By default, all form submissions go into Google Analytics (and subsequently Google Ads) as a “gforms_submission”. This doesn’t really allow you to differentiate between forms. In all but the simplest of cases, you probably want to differentiate events per form.

The gform_googleanalytics_submission_event_name filter can be used to accomplish this:

add_filter( 'gform_googleanalytics_submission_event_name', function( $name, $mode, $feed, $entry, $form ) {
    switch( $form['id'] ) {
        case 5:
            $name = 'form_5_submitted'; // Or perhaps something more meaningful to a human.
            break;
        case 7:
        case 9:
            $name = 'lead_form_submitted'; // You can lump multiple forms that should be optimized for jointly.
            break;
        default:
            // You could put something here, or leave the default.
            break;
    }
    return $name;
}, 10, 5 );Code language: PHP (php)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *