Development Log Update: 2-22-2024
No new improvements were deployed this week.
See the latest new features, improvements, and product updates
No new improvements were deployed this week.
The team has implemented additional password requirements for new users and existing users who reset their password. These requirements will not affect current user's passwords unless they request a reset.
The requirements for the user password are as follows:
The team has updated the "Take action on your unpublished campaign" system email to now include the campaign ID before the "Title" column on each row. The "Title" field is now clickable and takes the user to the "My Experience Page."
The team has updated functionality to no longer allow free entry submissions after the campaign closes. The application now displays "Free Entries Ended" when a campaign enters a closed state.
For more information, please contact us partners@rallyup.com.
Status: QA/Staging
Production Release date: 3/7/2024
This is an update to the previous post on February 8th.
In this release, we are streamlining numerous navigation elements for an amazing donor experience. The team has evaluated many pain points to make donation to your organization simple and engaging.
The following areas have been improved for increased donor engagement:
Status: In Production
Release date: 12/12/2023
In this release, we are adding a new feature in Experience Setup that alerts organizers when multiple users try to make changes in Experience Setup simultaneously. Here's an example:
We are giving User 1 the option to refresh their browser or continue without refreshing since their changes may be much more extensive than User 2's, and they can decide which path forward is more desirable for their specific case. We've also added logic that only allows the warning modal to show if User 2 actually made changes in Experience Setup. Therefore, the modal won't show for any "useless" saves.
Status: In Production
Release date: December 7th, 2023
In this release, we are adding a new Ticket type called a Ticket Package. A Ticket Package allows organizers to sell a group of individual registrations easily. A prime example of the functionality is selling an entire Gala table with eight seats. This functionality is technically already possible in the application. However, it requires the supporter to manually add a specific number of individual tickets to their cart, which is not conducive to a great UX.
In Experience Setup, in the "Ticketing" step, organizers will see a new option to enable either individual tickets and/or ticket packages. If the organizer enables individual tickets, they enable the same functionality currently in the application. If the organizer enables ticket packages, they will see a brand new entity-adding interface (EAI) where they can add ticket packages. The organizer can also customize the terminology for individual tickets and ticket packages. For example, if an organizer wants to sell tables, they can specify that ticket packages should be called "tables," and the individual tickets can be called "seats."
When the organizer presses the "Create a package" button, it opens a new modal where the user can create the package. The setup for creating a package is extremely similar to creating a normal individual ticket. Below, we discuss the different options and fields to create a ticket package.
Images
This is the same as the existing functionality. Organizers can add one or many images to their ticket package.
Title
Just as with current individual tickets, organizers can specify the ticket title.
Price
This is the same as the current functionality where the organizer can set a price for the ticket package.
Does this [package] include an existing [ticket] type?
This new option allows the organizer to select if their ticket package is comprised of an existing individual ticket type. For example, an organizer might be selling Gala tables. In the same Experience, the organizer may want to sell individual seats at the Gala table. The organizer can then specify that the Gala table comprises a group of these seats. These seats are just individual tickets created in Experience Setup earlier, so the organizer can use their discretion to determine which individual ticket makes up this ticket package.
The user can leave this blank if no individual ticket types comprise the package.
How many [tickets] are included in this [package]?
Using the example above, the organizer can specify how many seats may be at each gala table using this setting.
Limit the number of this [package] available
As with existing tickets, the organizer can specify how many ticket packages are available.
Description
The organizer can specify the ticket description that shows on the ticket cards on the Experience Page.
Category
The organizer can also place ticket packages into categories as is possible now for individual tickets.
Choose the information to collect for this [package]
The organizer can use this section to specify which information they want to collect on the ticket package level. I.e., any information that applies to the group as a whole. An example of the type of information you'd collect here would be "package name" such as "John's golf team" or "ABC Company's Table." You can collect any type of information here using custom fields.
Choose the information to collect for each attendee
As is possible on the ticket package level, the organizer can specify which information to collect on the attendee level.
This section only shows if the organizer did not select that the ticket package was comprised of existing individual tickets. When the package is comprised of an existing individual ticket type, the information collected on the attendee level will match the individual ticket type.
Make this [package] available for a limited time
This is an existing setting that allows the organizer to specify if the particular ticket package should only be sold during a specific date and time.
Hide this package from the Experience Page
This is an existing setting that allows the organizer to specify if the ticket package should be hidden from the Experience Page.
Other notable information
Another new setting we've added to Experience Setup for the Event Registrations Activity is the ability to set an Experience-level ticket limit. This will allow organizers to limit the number of tickets available for purchase without imposing any limitations on the individual ticket level if unnecessary. The Experience-level ticket quantity limit will be updated for individual tickets and packages. When an individual ticket is purchased, the quantity available decreases by one (1). When a ticket package is purchased, the available amount decreases by the number of individual tickets included. For example, if a ticket package includes five individual tickets, the quantity available will be reduced by five (5).
As briefly mentioned earlier, organizers can also put Ticket Packages into categories just like is possible for individual tickets. When enabled, organizers will see a new category setting for Ticket Packages. See the image below.
Once the ticket package has been set up, supporters can see a new ticket type on the Experience page in a new section that lists ticket packages. In one section, it will include all of the individual tickets. In another section, it will consist of all the available ticket packages. The user will see cards for each ticket package type in the ticket packages section. Supporters can purchase ticket packages similarly to how they purchase event tickets now in the application.
The application will have a new management page titled: "View [ticket package] registrations," where they can view all ticket package registrations. Below are the columns that make up the table.
Package
This shows the specific Ticket Package type that was purchased.
Package name
This is the name of the package entered by the supporter who purchased the ticket package if it was collected by the organizer.
Purchased by
This shows who the ticket package was initially purchased by.
Amount
This shows how much was paid for the ticket package.
Number of tickets
This shows the number of individual tickets in the ticket package.
Additionally, when a ticket package is purchased, we show a new entry in the existing "View event registrations" table, renamed "View ticket registrations." In this table, we've added new "Ticket package" and "Package name" fields to the existing "View Event Registrations" management table. That way, Experience administrators can easily see each individual registrant and their associated ticket package type and package names for easy context.
Early next year, we plan to add functionality that provides the organizer with more management functions, which include:
Status: In Production
Expected Release: September 21st
In this release, we are adding functionality to the application that allows organizations to run a raffle where the prize is cash, specifically, a percentage of the amount raised. It would allow an organization to run a fully supported 50/50 raffle and other similar use cases.
We've added flexibility to allow the organization to specify the exact percentage they'd like to award the winner of the cash raffle so they are not explicitly bound to a 50/50 split. If the organization wants to run a raffle where the winner only receives 20% of the funds raised, and the organization keeps 80% to support their cause, they can change the settings to fit their use case. We'll discuss the details in this changelog post below.
In Experience Setup, organizers can now enable a prize or 50/50 raffle. Enabling a prize raffle enables the same functionality that already exists in the platform for raffles. When enabling a 50/50 raffle, the organizer enables new functionality to create a cash prize where the prize is a portion of the amount raised.
It is essential that the organizer is allowed to enable prize raffles and 50/50 raffles independently. In our research and discovery, we've learned a lot of customers only want to run a 50/50 raffle without any other prizes. However, some users also want to add some general prizes in addition to their cash prize. Therefore, organizers can independently enable general prize and cash raffles to fit their use case.
When only the prize raffle option is enabled, Experience Setup for the raffle activity will be precisely as it is now. However, if both a Prize Raffle and a 50/50 Raffle are enabled simultaneously, we'll see a new button on the prize creation card (see image below).
There's a brand new "Create cash prize" button that, when pressed, opens a brand new modal that allows the organizer to create a cash prize (see image below). Additionally, once the cash prize is saved, it is highlighted with a unique icon so the organizer can easily distinguish it from all other prizes. As a quick note, when only a cash raffle is enabled on the Experience, the interface for adding a cash prize shows without the option to create regular prizes (see screenshot here).
Once the cash the prize modal is open, it is very similar to creating a raffle prize now, except for two new settings unique to the cash raffle prize. These new settings here allow the organizer to specify how the application should calculate their cash prize.
The first setting, "Calculate the cash prize from," allows the organizer to choose which types of donations contribute to the cash prize. For example, the first option calculates the cash prize from the entire Experience's amount raised. The second option calculates the cash prize only from the raffle activity. The last option, which only shows if the user is running a prize-specific raffle, allows the jackpot amount to only be calculated on funds received from entries sold for the cash prize.
The second new setting, "Cash prize percentage (%)," allows the organizer to specify how much of the amount raised, calculated by the setting discussed in the previous paragraph, should contribute to the cash prize amount. For example, instead of only allowing 50/50 raffles where the amount raised would be split evenly between the winner and the organization, we've added this setting to allow the organizer to specify a bespoke split. They can set a split where only 20% of the amount raised is awarded to the raffle winner, or perhaps they want 70% to be awarded to the winner – it's totally up to the organization.
One other setting that is important to note is the "Number of winners" setting here. This setting works slightly differently from the way it works for the general prizes we support in the app now. Since there can only be one cash prize, the number inserted in this input field is the number of people who will split the winnings. For example, if you enter 2 winners here, they will split the jackpot amount evenly between them. The remainder of the cash prize setup is similar to setting up a standard raffle prize in the app.
One central point of focus for this release was ensuring that the amount raised and the jackpot amount were calculated precisely to display the true amount that the organization would take home and the winner(s) would win. That way, the jackpot amount is an accurate percentage of the amount raised that is shown on the Experience Page, which helps provide clarity to supporters and avoids potential confusion on the accuracy of the jackpot calculation. This works by not including any types of fees or costs at all in the amount raised calculation, such as credit card processing costs covered by supporters, shipping costs, etc.
We've added a new option here in Experience Setup to allow the organizer to use this new amount raised calculation on other Experiences. For 50/50 raffles, this setting is turned off and hidden from view since we want to preserve the accuracy of the calculations for supporters' clarity.
When an organization enables 50/50 raffle functionality, supporters will see a brand new element (see image above) on the Experience Page that tells their supporters there's a cash prize, how much the cash prize is worth, how many winners will split the cash prize, and a call to action to enter into the 50/50 raffle. When this call-to-action is pressed, the user is taken to the "Prizes" section of the Experience Page to purchase raffle entries.
In addition to the jackpot element near the banner area of the Experience Page, users will also find a prize card for the cash prize along with all of their other prizes. Having both the jackpot element in the banner area described earlier and a prize card (see image below) helps ensure that we maximize the visibility of the cash prize to supporters.
The process for entering a cash prize raffle is the same as entering a raffle for general prizes supported in the application currently.
Status: In Production
Expected Release: July 20th
In this release, we will be adding new functionality to our Raffles and Sweepstakes fundraising activities, allowing organizers to place prizes into categories. Categories will help donors sort and filter prizes they may be looking for, boosting their interest in donating. This functionality is exactly the same as what we currently have for our Sale and Auction Item categories. So, those familiar with using categories for those types of experiences should be able to make use of this new feature with ease.
Organizers will be able to enable Categories in Experience Setup (See Screenshot Above) under the Sweepstakes or Raffles section of their experience. From there they will be able to create categories and adjust their display order on the Experience Page. After category creation, users will then be able to assign each prize they create to the appropriate category (Screenshot). After creating prizes and assigning categories, donors will be able to view the prizes under the sweepstake or raffle entry options on the experience page, and filter the prizes using the category dropdown selector (Screenshot).
Status: In Production
Expected Release: June 30th
In this release, we are improving our Auction bidding logic. This new logic will help solve a recurring issue where some supporter users need clarification about the buy-it-now process for Auction items. Essentially, some supporters have placed a bid equal to the buy-it-now price, and they were extremely confused why they were not automatically a winner of the item. In short, they believed that entering a bid equal to the buy-it-now price is how they purchased the item immediately.
Additionally, some users accidentally place a bid higher than the buy-it-now price of the Auction item, which causes issues for organizers when these types of bidders want a full refund for their accidentally large bid after the Auction is over. Most Auction users do not encounter the abovementioned issues, but the logic implemented in this release will help bridge the gap for those who do.
When a supporter tries to place a bid that is greater than the price of buy-it-now, the application will automatically ask the user to lower their bid so that it’s equal to or below the buy-it-now price, or if they’d rather buy-it-now, they can use the new button directly below the bid input field (see image above).
When a supporter inputs a bid amount equal to the buy-it-now price, the application asks the user if they’d buy it now instead of waiting to secure the item when the Auction ends (see screenshot). In this case, it does not stop them from placing the bid but helps ensure the supporter knows the buy-it-now option is available for the amount they bid.
When the Auction item’s current bid equals the buy-it-now price, we disable the “Place bid” button so the user can use the buy-it-now option instead (see image below). When the Auction item has more than one available, multiple supporters can bid at the buy-it-now price up to the quantity available before the “Place bid” button is disabled to ensure the organization maximizes the amount raised.
Status: In Production
Expected Release: June 30th
In this release, we are adding a new table to Administration. It is an audit table that allows partner administrators to view various changes that occurred on live Experiences. You can access this new page by visiting Administration > Audit Trail in the navigation menu of Administration (see screenshot). For your convenience, here is a comprehensive list of the different audit fields and their descriptions in an Excel spreadsheet.The Audit Table's columns are described below in detail.
Event ID
Campaign ID
Timestamp
Before
After
User
Just as with any other table within the application, you can filter and sort various columns to find the change you are looking for. Please note that the audit table only tracks changes for live Experiences, which are kept in the table even after the Experience ends in case it’s needed. Additionally, changes to existing items are tracked, but the audit table does not track when new items are created at this time. We will consider adding this in a future version.
Finally, you can press the “Manage” button on the right-hand side of any row in the Audit Table to access a menu with a new option titled “View Details.” When this button is pressed, it will open a new modal (see image below) containing all the information about the change in detail.
Status: In Production
Release date: May 31st
In this release, we are adding the ability for Organizers to add as many images as they’d like to different item types. We will also add this functionality for other options, such as sponsors and funds. This functionality will ultimately elevate the donor’s experience since Organizers can include additional detailed images for each item they offer.
Here are the items and elements that have received the ability to add multiple images:
To account for the additional space needed in Experience Setup, all Entity Adding Interfaces (EAIs) will now be a popup modal, as shown in the screenshot here. When the modal is opened, you will see a new area on the left instructing the user to upload their images. Organizers can upload images by clicking on the “upload images” button or dragging and dropping images from their file system on their computer.
By default, the first image they upload will be denoted as the item’s “primary” image. The primary image is the main image that will be shown by default on the Experience Page to all supporters. In Experience Setup, the primary image is identified by the “Primary” tab on the upper left-hand corner of the image thumbnail (see screenshot). If the Organizer prefers another primary image or wants to reorder their images, they can drag and drop each image to their desired order. Organizers can add more images by pressing the “Upload images” button anytime.
The Organizer can access additional functions on each image simply by hovering over an image thumbnail (see screenshot). While in the hover state, the Organizer will see two additional options: 1) Crop; and 2) An "X" button to delete the image. When the crop button is pressed, it opens our cropping tool. This is the same as our current cropping tool. However, we’ve given it a slight design touch-up (see screenshot). When the delete button is pressed, the image is removed from the images added to the item.
Suppose the Organizer has chosen to import Auction items via our "Import multiple items" function, and they also want multiple images for each item. In that case, they can easily do this by using the following format in the "Image URL" field in the "Auction Items Bulk Import Template," where each image is separated by a semicolon for each image URL like so:
“https://go.rallyup.com/example-image-1; https://go.rallyup.com/example-image-2; https://go.rallyup.com/example-image-3”
Experience Page
On the donor-facing end, the UI to view images is straightforward. As noted earlier in this changelog post, you'll notice that the primary image is the first image that the supporter will see. Additionally, arrows and an image counter appear on each item with more than one image (see screenshot). The supporter can use the right arrow to view the next image or the left arrow to view the previous image. Once the supporter is in detail view, they can click on any image to open a lightbox to view each image in detail.