It is possible to daisy chain forms such that the donor or member (end-user) upon submitting a form is redirected to a second form instead of the success landing page. The second form reuses the data which the end-user submitted in the first form. This article walks you through how to daisy chain forms using the FormBuilder in OnlineFundraising.
This article assumes fundmental knowledge about how to configure a form, including success landing pages for forms. Read or re-read our guide about configuring forms.
Please note: Daisy chaining transactional forms should only be implemented if your organisation has an integration, e.g. with a CRM system, which handles duplicate checking and merging contacts. Non-transactional forms do not result in a contact, so this type of form is well suited to daisy chain with other forms.
1. Example
Daisy chaining forms can for instance be used to encourage the end-user to make a donation after they signed up for a news letter.
The first form of the daisy chain is, in this example, a non-transactional form which is used to collect consent to send news letters. The contact data which is collected in this form could for instance be:
- First name
- Last name
- Postal code
Once the end-user has provided their contact information and submitted the form, they will be redirected to a second form instead of the success landing page.
The second form is a transactional form with which the end-user can choose to make a donation. The contact data (first name, last name, email) is already filled out on behalf of the end-user.
Upon submitting the second form, a Contact is created in OnlineFundraising, along with transactional data.
2. How to Daisy Chain Forms
2.1. Preparation
Preparation for daisy chaining forms:
- Prepare two or more forms
- E.g.: Form A and Form B
- Each form needs to be tested and ready for use
- The forms must be embedded on separate landing pages
- Take note of the URL of the form to which the end-user should be redirected
- E.g. www.yourdomain.io/form-b
2.2. Diasy Chain Forms
The success landing page for Form A needs to configured so it redirects the end-user to Form B, i.e. the landing page www.yourdomain.io/form-b. The URL must be combined with a query parameter.
https://www.yourdomain.io/form-b?skipReceipt=1
The query parameter skipReceipt ensures that the success landing page is skipped and that the end-user is redirected to Form B. The query parameter is added using "?" (question mark). If you are already utilising query parameters you need to use "&" (ampersand) instead. Example:
https://www.yourdomain.io/form-b?pre_purpose=1&skipReceipt=1
Please note: Query parameters are also used to create deep links to prefilling forms, but this is not necessary to configure when daisy chaining forms. Read more about deep links and query parameter syntax in this article.
The picture below is an example of how to configure the success landing page in the FormBuilder. The success landing landing page is configured for each purpose.
Once the success landing page is configured, the forms are daisy chained and ready for use.
2.3. How data is transferred between forms
This section explains how data is transferred between daisy chained forms. The section assumes basic understanding of DataSets. If you are not familiar with DataSets, you can skip this section.
When the end-user fill out Form A they are re-directed to Form B and the link will contain additional query paramters that are generated automatically:
https://www.yourdomain.io/form-b?skipReceipt=1&dataSetGuid=be61d38d-4235-441d-8e44-xxxxxxxxxx
This link does not contain any Contact specific data. The query parameters included are, as a minimum: skipReceipt and dataSetGuid. dataSetGuid is a unique id of the DataSet created as a result of Form A, and it contains the information the end-user provided. When the end-user is redirected to Form B, the information is extracted from this DataSet and prefilled into the form on behalf of the user. This only works in combination with skipReceipt.