What’s a WebHook?
A WebHook is a push notification from our server to yours. The Form Submit WebHook lets you set up a push notification to your server every time someone submits a form on one of your Instapage pages.
What can you do with a WebHook?
WebHooks make it easier to integrate two systems. The most common use for our Form Submit WebHook is to feed leads into your CRM.
What do you need?
Some CRMs will offer something called "an endpoint URL" which you can use to integrate with, which requires no technical knowledge and is very easy to set up.
Configure the Webhook
1. If you're in the editor, exit the builder to go to the Experience Manager interface:
2. Go to the Integrations tab of the Experience Manager for your page and select Form Integrations:
3. Select an already connected Webhook endpoint URL or go to connect a new one in the main Integrations dashboard.
This step is done once per sub-account. When you have connected the endpoint, come back to the Experience Manager for the page you want to integrate with Webhooks and continue with the steps below.
4. Enter your server's token authorization key (also known as bearer authentication) if you have one;
This will add your token authorization key in the header of the webhook request as an Authorization header.
5. Select the sending method and click Continue;
6. Now you will need to map your Instapage form fields to your Webhooks fields;
If you map an Instapage field with a field from your CRM side that has predefined options/values, then the field from Instapage side must have those exact same predefined options/values, and it is recommended for the fields from both sides to be of the same type.
7. You can also capture more information about your visitors and send it to your list. Just make sure to match your fields accordingly.
You can track and send the following data from your funnel:
- IP Address
- Referral Source
- Ad Campaign (Available for Enterprise accounts only)
- Average Cost per Visitor (Available for Enterprise accounts only)
If you want to integrate using Webhooks with your own custom server instead of an online lead management system you will have to write code to accept your form data.
Every time someone makes a new form submission on your page, Instapage will send the following data to your selected URL.
|ip||Ip of visitor.|
|page_id||The identifier Instapage uses to uniquely identify your page. Eventually you’ll be able to use this with our API to manipulate and get information about your page.|
|page_name||The name you gave your page, for example “My Guaranteed to Convert Landing Page”.|
|page_url||The URL of the page that contains your form.|
|variant||This identifies the page variant that the visitor saw when they visited your page, and will be a lower-case letter. The first variant is “a”, the next, “b”, and so on. If you have more than 26 variants the sequence will continue with “aa”, “ab”, etc.|
Sample PHP Script
<?php // If you created a login form with fields // 'Your email' and 'Your password', // then you will map these fields to:
'Your email' => 'email' 'Your password' => 'password' // Then after submit in your endpoint you can // get these data with code: $email = trim( strip_tags( $_POST[ 'email' ] ) ); $password = trim( strip_tags( $_POST[ 'password' ] ) ); // It can't be more simple. // You can get page data... $page_id = $_POST[ 'page_id' ]; $page_url = $_POST[ 'page_url' ]; $variant = $_POST[ 'variant' ]; ?>
Keep in mind the following particularities that our webhook integration has:
- Webhook domains that point to localhost addresses cannot work with our system,
- When Instapage makes the webhook call, it will send the lead data as a single object data set. If your system only accepts a list of objects data set, then the leads from Instapage will not be accepted by them.
- The server that is handling the Webhook endpoint URL needs to have a response time of maximum 20 seconds for processing webhook calls. Otherwise, the form "thank you message" or the redirect will not work and it may even affect the integration.
- The integration only works on the live URL. It can not be tested on the preview mode. When testing on the live URL, make sure that your browser is not displaying an older cached version.
- Make sure to test the integration with different addresses because if you submit the form multiple times with the same email address the integration will flag the email as spam.
- Always test your integration with real email addresses as some systems recognize fake emails.