Surface Forms can push key events to your website’s data layer, making it easy to track user interactions and conversions in Google Tag Manager (GTM).
Learn more about Surface events in our events documentation.

Overview of Surface Form Events

Surface Forms push three key events to the data layer:
Event NameWhen FiredMetadata
SurfaceFormStartedWhen the form is started(None)
SurfaceFormStepSubmittedWhen a step is submitted (e.g., email entered)emailProvided, meetingBooked , url and urlParams
SurfaceFormSubmitEventWhen the entire form is submitted(None)

1. Set Up Data Layer Variables in GTM

To capture metadata from SurfaceFormStepSubmitted, create the following Data Layer Variables in GTM:
Variable NameVariable TypeData Layer Variable Name
dlv - emailProvidedData Layer VariableemailProvided
dlv - meetingBookedData Layer VariablemeetingBooked
dlv - urlParamData Layer Variable (Object)urlParam
dlv - urlData Layer Variableurl
Steps:
  1. In GTM, go to Variables.
  2. Click New → Choose Data Layer Variable.
    GTM Variables Setup
  3. Enter the exact name (e.g., dlv - emailProvided) and set the Data Layer Variable Name to emailProvided. Make sure to capitalize the p in emailProvided !
    GTM Data Layer Variable Configuration
  4. Repeat for meetingBooked, url and urlParams.
    urlParams is an object, we need to use dot notation e.g. {{ urlParams.medium }} to get the data.
    GTM URL Parameters Configuration

2. Create Triggers Based on Events

You can now setup triggers that can reference the variables we just created.
Trigger NameTrigger TypeEvent NameAdditional Condition
Trigger - Email SubmittedCustom EventSurfaceFormStepSubmitteddlv - emailProvided equals true
Trigger - Meeting BookedCustom EventSurfaceFormStepSubmitteddlv - meetingBooked equals true
Trigger - URLCustom EventSurfaceFormStepSubmittedAny
Trigger - urlParamCustom EventSurfaceFormStepSubmittedAny
GTM Triggers Setup

3. Set Up Google Ads Conversion Tags

Finally, in order to send conversion data to your analytics platform or ads (Google, Meta, LinkedIn, etc) you must configure a new tag that references the triggers we just created. For example, here are the steps to setup a corresponding Google Ads Conversion Tag. This allows you to track different conversion points with the right conversion action in Google Ads.
Tag NameConversion Action (in Ads)Firing Trigger
GAds - Form StartedForm StartedTrigger - Form Started
GAds - Email SubmittedEmail SubmittedTrigger - Email Submitted
GAds - Meeting BookedMeeting BookedTrigger - Meeting Booked
GAds - Form CompletedForm CompletedTrigger - Form Completed
For more details on how to setup Google Ads Conversion Tags, please refer to our Google Ads Tracking Guide.
Tip: Make sure your Google Ads account has conversion actions that match these names or your chosen naming convention.

Need Help?

If you have questions or need support, reach out to us at support@withsurface.com.