Merge Fields - Cheat Sheet
Merge fields are a way to bring dynamic content into your Campaign pages and messages, pulling in information within your database to personalise the experience. Therefore, knowing what merge fields are available and where to use them is what this cheat sheet is all about.
Skip Ahead to
Using Merge Fields
Merge fields are dynamic tags that pull in specific data from your campaign or organisation's database in Raisely. This information is collected within different 'data sources/data trees', including User, Profile, Campaign, Subscription, and Donation.
For example, since User and Donations are the sources that capture the first name, their merge fields are user.firstName or donation.firstName.
It is important though to understand that the page or message must be connected to that data source for it to use the data. For example, user data will only be available on a webpage if the user is logged in.
Raisely has made Merge Fields simpler by adding a search function in the Page Builder and Messages, just by typing #. This provides a dropdown of options to search and select.
To note, Merge fields can also be added using two curly braces {{source.fieldID}}, which then allows you to use your custom fields, add conditions, and also use this data in other areas such as your URL or CSS attributes. The 'source' refers to the data category (or table) in which the field ID is found. The field ID is the unique ID given to each data field.
Merge Fields: Page Builder
There are two ways to use a merge field, both using a Heading or Paragraph block:
- 1
- Type # in the block content to bring up merge field options. You can simply type in the field you are after to reveal the options
- 2
- Enter the source + Field ID surrounded by two curly braces {{source.fieldID}}. Eg. {{user.firstName}} or {{current.profile.exerciseTotal}}
Merge fields can use data based on whether the viewer to the site is logged in or not. If they are logged in, you can then use merge fields to pull all sorts of user and profile information in. But if they are not logged in, the data accessible is only your campaign data such as Campaign goal, campaign name, etc.
Using Merge Fields on Profile Page
Profile pages are unique as the dynamic content on the page is shown whether or not the user is logged in.
When adding merge fields on a profile page, using # is the simplest method to bring data. If though you are wanting to use conditions and need to use the field ID, you must add current to the beginning of the field. For example, to bring in the Profiles activity goal, you would need to use {{current.profile.activityGoal}}. This is because the Profile data source is under the heading current.
You can also access data from an individuals team, using parent. For example, if you wanted to display the total amount someone's team has raised on an individuals profile page you would use {{current.profile.parent.total}}
Using Merge Fields on Dashboard Page
The Dashboard page is different as it first looks at the User data before looking at Profile. For example, to display a first name is simply {{user.firstName}} or to display their profiles fundraising goal it is {{user.profile.goal}}
### accordion
## expand
# Common Data Fields Available for Page Builder
Field ID | Type | Description |
user.address1 | text | |
user.address2 | text | |
user.country | text | |
user.createdAt | yyyy-mm-dd | |
user.email | text | |
user.firstName | text |
Users first name |
user.fullName | text | The full name of the user |
user.lastName | text | The last name of the user |
user.phoneNumber | number | Phone number of the user |
user.photoUrl | url | URL of the users photo |
user.postcode | text | Postal code of the user |
user.preferredName | text | The name that the user prefers to be called |
user.state | text | The state/province of the user |
user.status | ACTIVE | |
user.suburb | text | The suburb/city of the user |
user.unsubscribedAt | yyyy-mm-dd | Date the user was unsubscribed from non-essential emails or sms |
profile.activityTotal | number | The total contribution of this profile towards its activity goal |
profile.activityTotalPercent | number | The percentage of the total activity measure compared to the profile goal (out of 100) |
profile.activityTotalPercent | number | The percentage of the total activity measure compared to the profile goal (out of 100) |
profile.campaignTotal | number | The total amount raised by a profile (in the currency of the campaign) |
profile.createdAt | yyyy-mm-dd | Date the record was created |
profile.currency | text | 3 letter currency code |
profile.description | text | Public description of the fundraiser profile |
profile.exerciseGoal | number | The exercise distance goal for the profile, in metres |
profile.exerciseGoalTime | number | The time spent exercising goal for the profile, in minutes |
profile.exerciseTotal | number | The total distance of exercise completed, in metres |
profile.exerciseTotalPercent | number | The percentage of the total distance compared to the profile goal (out of 100) |
profile.exerciseTotalTime | number | The total amount of time exercising, in minutes |
profile.exerciseTotalTimePercent | number | The percentage of the total time compared to the profile goal (out of 100) |
profile.goal | number | Fundraising target (in cents) |
profile.isCampaignProfile | TRUE/FALSE | Shows true if this profile is the campaign profile |
profile.memberCount | number | The number of members belonging to a team |
profile.name | text | The name of the profile |
profile.paid | TRUE/FALSE | Flagged as true if this profile was used as part of a paid registration |
profile.path | url | The path of this record (for alternative lookup) |
profile.photoUrl | url | URL of the profile photo |
profile.shared | TRUE/FALSE | Flag that determines if a profile has been shared by its owner |
profile.total | number | The total amount raised by a profile (in the currency of the profile) |
profile.totalPercent | number | The decimal percentage of the total compared to the profile goal |
profile.type | INDIVIDUAL or GROUP | |
current.display.coverImage | Pulls in the default cover photo or the profile's uploaded cover photo | |
campaign.currency | text | 3 letter currency code |
campaign.goal | number | (in cents) |
campaign.name | text | Name of the campaign |
campaign.total | number | The total amount raised by the campaign (in the currency of the campaign) |
campaign.url | url | URL of the campaign website |
## expand
### accordion
Merge Fields: Messages
There are two ways to use a merge field in the Message builder, both using the Paragraph block:
- 1
- Type # in the block content to bring up merge field options. You can simply type in the field you are after to reveal the options
- 2
- Enter the source. Field ID surrounded by two curly braces {{source.field ID}}. Eg. {{user.firstName}} or {{current.profile.exerciseTotal}}
Merge fields use data based on the audience and trigger selected for the message. For example, if your audience is Donors and the trigger is New Donation then you can use data captured across that single line item, such as Donation Amount, User Name, Campaign, etc.
A helpful way of visualising what data you can use and where, is to use Reports in Raisely.
Below you can find the available data fields for each audience type in Messages, allowing you to search easily or use the field ID manually.
### accordion
## expand
# Transactions/Donations
Merge Field # | Source + Field ID | Description |
#Transaction Amount | donation.amount | The total amount of the transaction being made |
#Transaction Amount Refunded | donation.amountRefunded | Total amount refunded to the donor |
#Donation Anonymous | donation.anonymous | Does the donor wish to be anonymous |
#Transaction Campaign Amount | donation.campaignAmount | Transaction amount in the currency of the campaign |
#Transaction Campaign Display Total | donation.campaignDisplayTotal | The total contribution in cents of this donation to the campaign total, in the campaign currency |
#Transaction Campaign Gateway Fee | donation.campaignFee | Fee paid to the payment gateway (eg Stripe) in the currency of the campaign |
#Transaction Campaign Raisely Fee | donation.campaignRaisely | Raisely fee in the currency of the campaign |
#Donation Created At | donation.createdAt | Date the record was created |
#Transaction Currency | donation.currency | 3 letter currency code |
#Transaction Currency symbol | donation.currencySymbol | The symbol of the currency |
#Donation Date | donation.date | The date and time (in ISO8601 format) the donation was received by the organisation (only for OFFLINE donations) |
#Transaction Display Total | donation.displayTotal | The total contribution in cents of this donation to the campaign total, in the donation currency |
#Transaction Email | donation.email | Email address of the donor |
#Transaction Raisely Fee | donation.fee | The fee paid to Raisely |
#Transaction Fee Opt In | donation.feeOptIn | True if the purchaser chose to pay the Raisely fee |
#Transaction First Name | donation.firstName | (deprecated, use preferredName) |
#Transaction Full Name | donation.fullName | The full name of the person |
#Transaction GST | donation.gst | GST on the Raisely fee (always in AUD) |
#Transaction ID | donation.id | Simple ID for the donation |
#Transaction Last Name | donation.lastName | Last name of the donor |
#Donation Message | donation.message | Message from the donor |
#Transaction Method | donation.method | The payment gateway used |
#Transaction Preferred Name | donation.preferredName | The name that the person prefers to be called |
#Donation Processing | donation.processing | If this is a one time or recurring donation |
#Transaction Status | donation.status | Status of the payment |
#Transaction Tax Rate | donation.taxRate | The tax rate in percent |
#Transaction Tax Total | donation.taxTotal | The total tax charged in cents within items on this transaction, in the transaction currency. |
#Transaction Tax Type | donation.taxType | The type of tax applied to the order (INCLUSIVE or EXCLUSIVE or null) |
#Donation Total | donation.total | Total amount paid by donor for donation |
## expand
## expand
# Profiles
Merge Field # | Source + Field ID | Description |
#Profile Activity Total | profile.activityTotal | The total contribution of this profile towards its activity goal |
#Profile | profile.activityTotalPercent | The percentage of the total activity measure compared to the profile goal (out of 100) |
#Profile Campaign Total | profile.campaignTotal | The total amount raised by a profile (in the currency of the campaign) |
#Profile Created At |
profile.createdAt | Date the record was created |
#Profile Currency | profile.currency | 3 letter currency code |
#Profile Description | profile.description | Public description of the fundraiser profile |
#Profile Exercise Goal | profile.exerciseGoal | The exercise distance goal for the profile, in metres |
#Profile Goal | profile.goal | Fundraising target (in cents) |
#Profile Grand Total | profile.grandTotal | The total amount raised by a profile (including registration fees) |
#Profile Is Campaign Profile | profile.isCampaignProfile | Shows true if this profile is the campaign profile |
#Profile Member Count | profile.memberCount | The number of members belonging to a team |
#Profile Name | profile.name | The name of the profile |
#Profile Paid | profile.paid | Flagged as true if this profile was used as part of a paid registration |
#Profile Path | profile.path | The path of this record (for alternative lookup) |
#Profile Photo URL | profile.photoUrl | URL of the profile photo |
#Profile Shared | profile.shared | Flag that determines if a profile has been shared by its owner |
#Profile Total | profile.total | The total amount raised by a profile (in the currency of the profile) |
#Profile Type | profile.type | INDIVIDUAL or GROUP |
#Profile Updated At | profile.updatedAt | Date the record was last updated |
## expand
## expand
# Teams
Merge Field # | Source + Field ID | Description |
#Team Activity Total | profile.parent.activityTotalPercent | The percentage of the total activity measure compared to the profile goal (out of 100) |
#Team Campaign Total | profile.parent.campaignTotal | The total amount raised by a profile (in the currency of the campaign) |
#Team Created At | profile.parent.createdAt | Date the record was created |
#Team Currency | profile.parent.currency | 3 letter currency code |
#Team Description | profile.parent.description | Public description of the fundraiser profile |
#Team Exercise Goal | profile.parent.exerciseGoal | The exercise distance goal for the profile, in metres |
#Team Goal | profile.parent.goal | Fundraising target (in cents) |
#Team Grand Total | profile.parent.grandTotal | The total amount raised by a profile (including registration fees) |
#Team Is Campaign Profile | profile.parent.isCampaignProfile | Shows true if this profile is the campaign profile |
#Team Member Count | profile.parent.memberCount | The number of members belonging to a team |
#Team Name | profile.parent.name | The name of the profile |
#Team Paid | profile.parent.paid | Flagged as true if this profile was used as part of a paid registration |
#Team Path | profile.parent.path | The path of this record (for alternative lookup) |
#Team Photo URL | profile.parent.photoUrl | URL of the profile photo |
#Team Shared | profile.parent.shared | Flag that determines if a profile has been shared by its owner |
#Team Total | profile.parent.total | The total amount raised by a profile (in the currency of the profile) |
#Team Type | profile.parent.type | INDIVIDUAL or GROUP |
#Team Updated At | profile.parent.updatedAt | Date the record was last updated |
## expand
## expand
# User
Merge Field # | Source + Field ID | Description |
#User Address 1 | user.address1 | Line 1 of an address |
#User Address 2 | user.address2 | Line 2 of an address |
#User Country | user.country | The country of the user |
#User Created At | user.createdAt | Date the record was created |
#User Email | user.email | Peron's email address |
#User First Name | user.firstName | The first name of the user |
#User Full Name | user.fullName | The full name of the user |
#User Last Name | user.lastName | The last name of the user |
#User Phone Number | user.phoneNumber | Phone number of the user |
#User Photo URL | user.photoUrl | URL of the users photo |
#User Postcode | user.postcode | Postal code of the user |
#User Preferred Name | user.preferredName | The name that the user prefers to be called |
#User State | user.state | The state/province of the user |
#User Status | user.status | ACTIVE or DELETED |
#User Suburb | user.suburb | The suburb/city of the user |
#User Unsubscribed At | user.unsubscribedAt | Date the user was unsubscribed from non-essential emails or sms |
#User Updated At | user.updatedAt | Date the record was last updated |
## expand
## expand
# Campaign
Merge Field # | Source + Field ID | Description |
#Campaign Currency | campaign.currency | 3 letter currency code |
#Campaign Goal | campaign.goal | Campaign target (numeric) |
#Campaign Name | campaign.name | Name of the campaign |
#Campaign Total | campaign.total | The total amount raised by the campaign (in the currency of the campaign) |
#Campaign URL | campaign.url | URL address for campaign home page |
## expand
## expand
# Order
Merge Field # | Source + Field ID | Description |
#Order Date | order.date | The date the order occurred |
#Order Discount | order.discountTotal | The total discount on the order |
#Order Number of Items | order.numberOfItems | Number of Items in an order |
#Order Order ID | order.orderId | The order id |
#Order Item Amount | |
|
#Order Item Amount refunded | |
|
#Order Campaign amount | ||
#Order Created At | ||
#Order Original amount | ||
#Order Product uuid | ||
#Order Item Updated at | ||
#Purchaser Full Name | order.user.fullName | The full name of the user who made the order |
## expand
### accordion
ANONYMOUS DONATIONS
Thank you {{reveal donation.firstName}} for your donation!
FAQ
### accordion
## expand
# How do I use conditions with Merge Fields?
Check out our support guide on Advanced Personalisation
## expand
## expand
# My merge field displays nothing. What have I missed?
Firstly, we encourage testing merge fields before going Live on site or sending Messages. An empty field can be due to a few things:
- There is no data in that field. Run a report in Raisely to see if that data actually exists.
- Your merge field cannot be used because that page or message cannot source that data. Remember that data is contextual to the page or message. Using Raisely reports to visualise the data available can be helpful.
## expand
## expand
# I'm new to using merge fields and dynamic content. What other support do you have?
Check out our Personalisation: Dynamic content, merge fields, and more for a comprehesive introduction. You will also find links to our YouTube series on Personalisation.
## expand
### accordion
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 🤯