So you're thinking of integrating your web leads with Salesforce? Great call! In this blog post, I'll be outlining how to prepare for a basic web-to-lead integration, and making some simple recommendations to ensure it goes smoothly.
Setting up basic mapping
Basic web-to-lead integration means that every person who fills out a form or call to action on your site will be added to your Salesforce database as a lead. Here are some things you'll need to think about and set up before integration can be completed.
1. One-to-one mapping from your CTAs to Salesforce
For any field on a CTA, make sure you've decided which field it will correspond to in Salesforce. For example, if you have a field called "Project Details" on your contact form, perhaps you'll have it map to the native Salesforce "Description" field, or perhaps you'll create a custom field called "Project Details."
Fields can also be set up to map to Salesforce behind the scenes. One of the normal hidden fields sent is 'Lead Source.' Make sure to decide what you would like the 'Lead Source' for each of your CTAs to be, and add these to the field's picklist values in Salesforce.
2. Using Campaigns
The best way to track a lead's engagement with your site in Salesforce is to use Campaigns. Set up a campaign for each of your site's CTAs. The Campaign ID will be another hidden value that is passed over the Salesforce behind the scenes, adding that lead as a member of that campaign. You can also pass over a specific Campaign Member Status, in case you'd like the member status of leads coming from your site to be different for a certain campaign.
To find a campaign ID, navigate to that campaign's landing page, and look in your browser's navigation bar. The campaign ID is the 15-digit alphanumeric code (e.g., 70180000000cm93).
In some cases—a newsletter sign-up form, for example—it makes sense for the Campaign ID to be hard-coded in the form definition for that CTA. However, for other types of CTAs—webinar registration or download forms, for example—you might need the ability to add a different campaign for each new instance of the form.
For example, here's a screenshot of the metadata tab in Newfangled CMS for a webinar. We have the ability to add two campaigns for each webinar: one is valid while the webinar is open for registration, and the other becomes valid once the webinar has happened and we've posted the video to our site.
3. Setting up lead field mapping
To make sure you do not lose any data captured on the lead object when converting a lead, remember to set up lead field mapping. To do this, navigate to Setup —> Customize —> Leads —> Fields —> Lead Custom Fields & Relationships —> Map Lead Fields. Before doing this, you must be sure that you've duplicated any custom fields on either the contact, account, or opportunity objects.
4. Getting this information to your developer
Once you know which fields your CTAs will be mapping to, you might need to provide the field names to your developer. The easiest way to do this is to generate a web-to-lead form through Salesforce. To do this, go to Setup —> App Setup —> Customize —> Leads —> Web-to-Lead —> Create Web-to-Lead Form. Then, take a look at your CTA. If I were to create a web-to-lead form for our newsletter subscribe CTA, I would add "Full Name" (a custom field) and "Email," as well as "Lead Source," "Campaign," and "Newsletter Subscriber" (a custom field), which will be hidden to the user but still passed to Salesforce. For any fields that are multi-select picklists (like Lead Source), you'll need to provide the developer with the exact value you'd like coded. This goes for campaigns as well.
Dealing with duplicates
Remember to keep in mind the importance of data cleanliness. One thing to understand about the integration I'm describing is that each time a lead fills out a form on your site, they are added to your Salesforce database as a new lead. If I were to go to the Newfangled site and sign up for our newsletter and blog digest, Salesforce would treat me like two different people. Salesforce does not have a native deduplication feature, but there are many solutions available through the AppExchange. We use CRMFusion's suite of tools, but I have heard good things about RingLead as well. You will not regret implementing a deduplication solution before enabling web-to-lead. I can tell you from experience that even with the right tools, deduplicating an entire Salesforce database is a tedious and often exasperating experience. So implement a real-time deduplication solution as soon as you can, hopefully before you even have any dupes!