Imagine that a donor/lead signs up for a cause, makes a one-off donation, or subscribes to a newsletter, and is then encouraged to do more. Contact details, campaign information, etc., from the first form are automatically carried over, so the donor simply needs to accept and approve the selected payment method. This flow can significantly increase conversion rates – and is achieved using so-called daisy-chained forms.
The principle is that the donor/lead is directed to another form instead of a confirmation page once they have submitted the first form. The second form reuses the data that the donor/member entered in the first form.
Prefer a video to text? Then watch the video at the bottom of this guide!
This article assumes fundmental knowledge about how to configure a form, including success landing pages for forms. Please ead or re-read our support guide on setting this up.
Note: If you chain two transactional forms (with payments), you need to be aware that two contacts will be created – one for each form. If you have a CRM system that handles duplicates, this won't be a problem. If not, you will need to manage this manually afterwards. A non-transactional form (without payment, e.g., a newsletter sign-up) does not create a contact, so there won’t be an issue if it is linked with a transactional form.
1. Example
Chaining forms can be used, for example, to encourage the end-user to make a donation after they have signed up for the newsletter.
In this example, the first form in the chain will be a non-transactional form (without payment) used to collect contact details and consent for the newsletter. The contact information collected may include:
First name
Last name
Postal code
Email
Once the end-user has filled in their contact information and submitted the form, they will be redirected to a new form, instead of the usual thank-you page.
The second form is a transactional form (with payment), where the donor can choose the amount, frequency, and payment method. Since we already know the donor's first name, last name, and email, these fields are pre-filled in the form. They can either be displayed as visible fields or stored in hidden fields. You can choose to display the donor's first name but not the last name or email address.
When the end-user submits this form, a contact will be created in OnlineFundraising with the associated payment details.
2. How to chain forms together
2.1. Preparation
Preparation for chaining forms:
- FPrepare two (or more) forms
For example: Form A and Form B
Each form should be tested and ready for use
The forms must be embedded on separate landing pages (you cannot use the same URL)
Note the URL for the form that the end-user will be redirected to for example: https://www.yourdomain.io/form-b
2.2. Chain the forms
The thank-you page, also known as the Success Landing Page, for Form A should now point to the landing page for Form B (https://www.yourdomain.io/form-b).
The link must be combined with a query parameter, which is a small piece of code added to the URL for Form B.
https://www.yourdomain.io/form-b?skipReceipt=1
The query parameter skipReceipt ensures that the receipt is skipped, and the end user is redirected to Form B instead. The query parameter is added by including a "?" (question mark). If you are already using one or more query parameters in the link, you should instead use "&" (ampersand). Example:
https://www.yourdomain.io/form-b?pre_purpose=1&skipReceipt=1
Note: Query parameters are also used to create deep links for pre-filling forms, but they are not necessary when chaining forms. You can read more about deep links and the syntax for query parameters here.
The image below is an example of how the success page is set for a purpose in FormBuilder. The success page is set per purpose, so repeat this step for each purpose in your form.
Once the success page is set up as described above, your forms are chained together and ready to use.
2.3. How data is transferred between forms
This section explains how data is transferred between the chained forms. It assumes a basic understanding of DataSets.
When the end-user fills out Form A, they will be redirected to Form B, and the link will include additional query parameters that are generated automatically:
https://www.yourdomain.io/form-b?skipReceipt=1&dataSetGuid=be61d38d-4235-441d-8e44-xxxxxxxxxx
This means that all the data available in the data set for Form A is automatically carried over to Form B.
Note that this link does not contain any personally identifiable information. The query parameters included will, at a minimum, be: skipReceipt and dataSetGuid. The dataSetGuid is a unique ID for the DataSet created as a result of Form A, and it contains the information entered by the end-user. When the end-user is redirected to Form B, the information is extracted from this DataSet and pre-filled into the form on behalf of the end-user.
This only works in combination with the skipReceipt parameter.