How can we help you?

Integrating with Webhooks


What’s a WebHook?

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. While in the Landing Pages list, click on the name of the desired page and select Integrations > Form Integrations:

integrations slider.gif

2. Select an already connected Webhook endpoint URL. If you don't have one, you will see the message below. In that case, go to connect a new one in the main Integrations dashboard by selecting the workspace you want, Settings, then clicking Integrations.


webhooks integration.gif

3. Enter your endpoint URL. This step is done once per workspace.


When you have connected the endpoint, come back to the slideout menu for the page you want to integrate with Webhooks and continue with the steps below.

4. Connect the Webhook to the page. Enter your server's token authorization key (also known as bearer authentication) if you have one.

webhook authorization key.gif

This will add your token authorization key in the header of the webhook request as an Authorization header.

If this method is not available for you, and instead you need to whitelist IPs, you can find our list here:

5. Select the sending method and click Continue;


6. Now you will need to map your Instapage form fields to your Webhooks fields;


When you map your fields, make sure that you are using the exact name of the fields from your system side so that when Instapage sends the data to your system, it will recognize the field names and accept the lead.

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:
  • Page
  • Variation
  • Desktop/Mobile
  • Timestamp
  • IP Address
  • Referral Source
  • Ad Campaign (Available for Convert accounts only)
  • Average Cost per Visitor (Available for Convert accounts only)
If you want to test the WebHook integration, you can use a PostBin URL (from as a place to temporarily send your form data and examine the data format.
In case you have the fields from the session data already in your form, you should remove those fields from the session data step by simply deleting the field name during the configuration.
If you don’t need all the session data fields captured for your leads, please leave the “Webhook Fields” section from the screenshot above blank for them.
NOTE:  In order for the Referral Source session data field to work in Google Chrome as well, you need to enable the related toggle found in the Session step, pictured below.
NOTE: Safari has the option to Prevent cross-site tracking enabled by default, which means the Referral Source will not work for leads who submit the form on Safari. They can manually turn that option off, but it is strictly dependent on the end user (the page visitor).
8. Click on Finish. If you went through all the steps, you should see a confirmation message.

Then click on CLOSE.

In order for the changes to save on the page, you still need to update the experience. So after clicking on CLOSE, head back to the first-page slide-out to UPDATE the page experience.

 Note: We do not impose a limit of one Webhook per page, so you can go ahead and connect multiple endpoints to a single page if that serves your use case.

After completing/saving an integration, hit the orange Update button for the page so that the changes go live.


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.

Parameter Description
ip Ip of visitor.
page_id The identifier Instapage uses to uniquely identify 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

 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. 

Important Notes:

- 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.

- Always make sure to update the page experience when changing or adding a new Webhook endpoint.

- 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.

- All fields need to have a label/name in order for the integration to work. Please do not leave the label empty or with just space characters. You can pick the 'hide label' option for some field types.

Need further help?

Tell us what you need and we will be happy to assist you.

Submit a Request