How to Submit LinkedIn Forms to Pardot (Account Engagement) via Zapier
LinkedIn has always been criticized as a bit of a walled garden. They would prefer that you do everything within the confines of the platform. I can't tell you how many times I've had to explain that a LinkedIn Sales Navigator subscription will not allow you to export contacts from LinkedIn to your CRM. The advertising section of the platform has been similarly challenging with respect to how to make use of any contact interactions generated from your ads.
The Linkedin Form ad type is exactly what it sounds like-- it's a form that you can use to offer up some kind of content or an off-site redirect in exchange for a prospect's personal information. The question is, how does one do something useful with the leads you generate, other than downloading a CSV (which is the platform's only in-app option)?
As with many problems of this sort, when you can't figure out how to connect two systems, we turn to one of many bridge applications, such as Zapier, Make (formerly Integromat), Tray.io and others to shuffle data around. This article concerns how to send data from LinkedIn Forms to Pardot (Account Engagement) using Zapier, although I have also done this with Make, but I can't recommend it. The reason has less to do with Make and more to do with LinkedIn's API, which seems to be fussy about authentication, and the method that Make uses to connect with it seems prone to problems. I've never had an issue connecting to LinkedIn with Zapier and it staying connected.
There is another solution readily available for Salesforce and LinkedIn forms that doesn't use Zapier, and it's described here. If that sounds a lot like web-to-lead, that's because that's basically what it is. Here's why I don't like that solution (and web to lead in general) when your org uses Pardot. Pardot generally avoids creating duplicate records when Pardot (Acccount Engagement) itself is receiving the data. However, if you create a new lead in Salesforce and have your org set up to send all new leads to Pardot, that's one way that you will get duplicates created in Pardot. This is related to the deduplication rules in Salesforce and the need to essentially have them off for the web-to-lead user (otherwise web-to-lead will refuse leads altogether that it flags as a potential duplicate). Bottom line, if you use Account Engagement, then web-to-lead, or anything like it, is potentially problematic.
Now, sharp eyed readers that clicked on the link above that showed the Zapier recipe may have noticed that I'm not using the Zapier Pardot connection, I'm using a webhook instead. There are two reasons for this. First, if you have one of the basic editions of Account Engagement, API calls are not supported, and that's how Zapier works for that module. The second reason is that essentially we want to update prospects and not just use the "create" function, to avoid the duplication issue I just described above, because any Pardot record created via API will create a duplicate. So you need to burn multiple tasks: find a record and update it, or fail to find a record and create a new one. Inefficient use of a metered resource like zaps.
Using the Webhook method avoids all this with a single pair of actions-- Linkedin Lead form and a Post Webhook. All you need for a Post webhook is a Pardot Form Handler. A form handler won't create a duplicate and it will augment an existing record instead of creating a new one. And here's the best part-- you also get to use all the conditional completion action goodness when you use a form handler as well! The standard API insert/update method does not offer this.
To set this up, simply use a Pardot Form handler with an event type of Post and payload type of Post. The URL is your form handler URL.
Then, as with any form handler, you can match up as many standard and custom fields as you want.
Form hander setup tips:
Only make the email address required.
Use Kiosk Mode. (we don't want to cookie Zapier!)
Set the success and failure locations to the referring URL.
And it really is just that simple.
Here's a few potential gotcha's and things I've noticed using this method.
This is not exactly real-time. It seems that there's a fair amount of delay before Linkedin sends things over. Minutes at a minimum.
Since many people use a personal email on LinkedIn as their primary email, be prepared that you will actually get duplicates in your system where the form fill sends a Gmail address but the record you have on file is a business email.
LinkedIn seems to occasionally hiccup and not send a form fill. No way to audit this except manually.
If you download the LinkedIn leads and compare them to your form handler, the timestamp on LinkedIn's timezone is probably not going to match your org and I haven't found a way to sync this up.
Your LinkedIn form can of course use custom fields as well as hidden fields for attribution.
LinkedIn has a LOT of other field options you could send over in addition to the form's fields. Check the field list on the LinkedIn test record-- there are all kinds of things you can send including the name of the form, your campaign name, and even the information on the post that was responded to (headline, content and image url).
Once you create a form in LinkedIn it seems that you can't change it. And every new form you create, even if it's a copy of an old one, you need to check your field mapping to ensure that it's still the same.
I recommend using one Zap per LinkedIn form for the most granular control, even if you are using the same form handler for all the zaps. You could also of course use a different form handler for each one if you want to have more options for completion actions or reporting.
Using this method can be a game changer for your LinkedIn advertising campaigns, allowing more granular control over actions and more flexibility than any other method available, and it works for all Pardot (Account Engagement) editions. Everything described in this post requires at least the minimum paid Zapier plan.