The Identify and Push Visitor save action is used to map WFFM fields to Salesforce Contacts or Leads only. You can configure which form field to use as an identifier in order for Sitecore to track analytics and personalize content on different devices.
When the user data is pushed to Salesforce using this save action, the configured field in the form is used to identify the current visitor. Using the Identify() method, the identifier is stored in Sitecore's xDB analytics database against the Sitecore Contact record. If analytics are to be collected, and personalization applied, across devices/browsers then the Sitecore Contact needs to be identified when they visit the site. This can be done by having the user login to the site using the same identifier that was used in the save action and using the Identify() method in the login control. Sitecore will then know that this is the same Sitecore Contact and the analytics will be generated, and personalization applied, for that Contact.
The form field used to identify a Contact is set to a default of Email. This can be changed by editing the following config file: /App_Config/Include/S4SSaveActions.config
Change the following entry so that it specifies the field in the form that is to be used for identifying a Contact.
<setting name="FuseIT.S4SMapping.IdentifyAndPushVisitorIdentifier" value="Email" />
Once the field has been configured the save action will look in the form for the field and use its content as the identifier for the Contact.
Save Action Code Example (Pre-Sitecore 9)