Custom JavaScript
Raisely's Custom JavaScript integration lets you write your own JavaScript code to fire on different events across Raisely. As Raisely websites are React applications, code loaded in the `<head>` of your website won't run on every page.
Custom Javascript allows you to fire your own JavaScript code, like custom tracking scripts, front-end/client-side integrations, or other tweaks to the user experience of your website.
📝 Custom JavaScript is not designed as a way to add custom functionality to your website. It's really designed with tracking and analytics in mind. If you want to add custom functionality, you should use a custom component.
⚠️ Custom JavaScript is added at your own risk. We can't help with custom code you add to this section of your website.
Adding your JavaScript
To add custom javascript, log into your Raisely admin panel and go into the campaign you're editing. In the left sidebar, click Settings then Apps & Integrations. You'll find "Custom Javascript" towards the bottom of the list.
Subscribing to Events
Let's say we want to run a tracking script on every page in my Raisely campaign. By default this will only run on the page I land on, so I want to make sure it tracks every other page I visit too.
To do this, we use the subscribe
method that will be passed into your script. Here's an example:
subscribe('page.viewed', function(page) { console.log(page); })
subscribe
accepts the event as the first argument, and a function to run on that event as the second. That function always has one argument, which will be a JSON object of relevant information.
I can add multiple subscriptions to my JavaScript, like so:
subscribe('page.viewed', function(data) { console.log(data); }) subscribe('donation.success', function(data) { console.log(data); })
The easiest way to see what's available in data
is just to use a console.log
to inspect the payload, as it does vary between events. These are the same subscription events we use to run built-in integrations like Google Analytics, so you will have plenty of data to play with.
List of events
page.viewed | On each page view/load |
user.signup | On a new registration |
user.login | On a successful account login |
profile.created | When a team is created after signup, or also fired on a complete signup |
profile.updated | When profile (team or individual) is updated |
signup.stage | Fired on each stage of the signup form, stage 1 is when someone submits step 1 |
post.created | New blog post created |
donation.stage | Fired on each stage during the donation form, including the first |
donation.loaded | A donation form was shown on the page |
donation.success | On a new successful donation |
subscription.success | On a new successful regular donation |
user.authenticated | We've been able to log a user in. This is different to user.login as it's fired on load if the user is already authenticated. |
share | When a share button is clicked |
Cannot find the support guide you are after? Head on over to our YouTube channel 📺 for more creative content to help you go further. You can even leave us comments, suggesting new content ideas 🤯