How can we help you?

Integrating with Webhooks

webhooks.png

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:

Form_integrations_-1ss.gif

2. Select an already connected Webhook endpoint URL or go to connect a new one in the main Integrations dashboard.

no_integrations_connected.png

webhook_-_connectgif.gif

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.

3. Enter your server's token authorization key (also known as bearer authentication) if you have one;

webhook_-_token_step.png

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.

4. Select the sending method and click Continue;

webhook_-_method_step.png

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

webhook_-_fields_step.png

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.

6. You can also capture more information about your visitors and send it to your list. Just make sure to match your fields accordingly.

webhook_-_session_step.png

You can track and send the following data from your funnel:

  • Page
  • Variation
  • Desktop/Mobile
  • Timestamp
  • IP Address
  • Referral Source
  • Ad Campaign (Available for Enterprise accounts only)
  • Average Cost per Visitor (Available for Enterprise accounts only)
If you want to test the WebHook integration, you can use a PostBin URL (from https://requestbin.com/) 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.
7. That's it!
webhook_-_finish_step.png
 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

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

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.

Need further help?

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

Submit a Request