🔥Advanced
Guide to exploring advanced customization options.
Open with custom element
The Campfire feedback widget can be launched from a custom element such as a link, in addition to the floating feedback launcher.
Simply add data-lw-onclick="#feedbackWidget"
to any custom element. Below is how this may look.
Position the feedback button
If you'd prefer to relocate the feedback launcher button, you have the ability to do so with custom CSS. This may be helpful if the launcher covers another element on your page.
Here is an example of what that may look like.
Pre-filling the email field
Sometimes you may want to prefill the email field for a user. You can easily do this by setting a custom GET
variable for their email.
Campaign: This is the ID of your campaign.
Email: This is the email you'd like to prefill into the form.
If privacy mode is enabled, this will have no effect, as email collection is turned off.
Custom form endpoint
If needed, Campfire can be configured to send feedback responses to a custom endpoint, instead of data being saved inside Campfire. All data sent to the endpoint is sent in the form of a POST
request.
To set up an endpoint, simply visit the Advanced page inside your campaign. Once you save, all data submitted by users will be sent through your endpoint, instead of Campfire.
From there, you can decide what you'd like to do with this data.
Below is a list of the data that will be sent over to your endpoint, once feedback is submitted.
POST | Meaning |
campaignId | The ID of the campaign the feedback has been submitted from |
rate | The rating the user has selected |
The email address submitted the by user | |
message | The message submitted by the user |
Note: Some data processed by Campfire is not submitted in a POST
request, so some variables such as IP addresses will not be sent to your endpoint.
Checking a form submission
In order to only process data through your endpoint when data is received, you'll want to check that the campaign
variable has been sent in the POST
request. See the example below.
For a more in-depth integration example, click here.
Last updated