Welcome to the Salsa Blog

Case Studies: Get the Most out of Nonprofit Member Management in Salsa

This was originally posted on the Powerthru Consulting blog.

PowerThru Consulting recently completed projects for two nonprofit clients – the Washington Area Bicyclist Association (WABA) and Jewish Voice for Peace (JVP). We helped them set up a system to enable visitors to their site to sign up for a paid membership, and then to report on membership statistics and send reminder emails to members when it is time to renew. While these systems are similar in many aspects, they had several unique features that help illustrate the different ways PowerThru can develop a custom member-management system within Salsa to serve the needs of different nonprofits.


The Problem: WABA came to us with an existing member-management system with a ton of historical membership data in Salsa, but that was way too cumbersome for their staff to use. It required many manual steps to update information on membership levels and periods. They were looking for a system that would automatically add that member information to a supporter’s record when they made a designated membership payment on a Salsa donation page.

You can see the membership page we created here or see a screenshot below.

The Fix: As a supporter chooses which membership level they would like, some simple JavaScript updates hidden fields for the membership level and expiration date (one or two years after the current date). There are also options for supporters to choose whether they would like their membership payment to be one-time or ongoing (using recurring donations).

How It Works: When the supporter completes the membership payment form and clicks submit, they are redirected to a Tell-a-Friend page with special code in the template that actually handles the processing of the membership. We opted to add the membership information to the Supporter record using Salsascript in the template of the redirect page rather than as the membership is being processed by the donation page — because we wanted to be able to check on whether there was any existing membership data in the supporter’s record, and we couldn’t easily do that on the membership payment page without first requiring the supporter to sign in to their Salsa record (a requirement that would decrease donations). However, by “passing” the supporter_KEY to the redirect page as merge fields in the URL we could have Salsascript in the redirect page template easily check existing data in the supporter record, and then update it based on what it finds.

So what does that special Salsascript on the redirect template do exactly?

  • It checks to see if the supporter already has existing membership information;
  • If they don’t, it stores the current date as both the current membership period start date and the initial join date for the member in the appropriate custom fields, and sets the expiration date as one or two years from today based on which membership term they selected;
  • If they do, it keeps the existing join date custom field data as-is but stores the current date as the current membership period start date. It then checks to see if there is any time left in their current membership period and if so adds it on to their new membership period. Finally, it marks the membership as a renewal payment in both the supporter record and the record of that particular donation.

We did one other cool thing for WABA – they wanted us to add membership information to the Salsa profile manager so supporters could log in to see their current membership status. We added some code to their default Salsa template so the first tab of their profile manager now looks like the screenshot to the left.



The Problem: JVP came to us with similar but slightly different needs for their member-management system. JVP defines membership as anyone who contributes $18 or more over the course of a year andaffirms they want to be a member. So they needed a more automated and customized way to verify a member’s giving history. 

The Fix: So started with a page that contained code that checked the amount they were contributing – either one-time or an anticipated annual total for recurring donations – and then displayed the membership confirmation checkbox if they were making a qualifying donation. 

You can see the page here or in the screenshot. Play around with different one-time or monthly amounts and you’ll see the JVP membership confirmation box show up or not depending on whether the amount qualifies or not.

That was easy enough and we figured we’d just have the redirect page template take care of processing the membership information once we knew who the supporter was, as we did for WABA. 

The Catch: However, JVP had a unique requirement – they wanted only new members to automatically get a special welcome email. Problem is that email triggers configured on the donation page would be sent before we knew whether the supporter was a new member or not.

So we decided to set up a special intermediary Salsa sign up page with Salsascript code in a special template that would do the following:

  • Check to see whether the supporter already has existing membership information;
  • If they do, mark their membership payment as a renewal, add any remaining time in their current membership period to their new membership period and then automatically redirect them to a final redirect page specified in the URL;
  • If they do not (i.e. they are a new member), the code adds the membership information to their supporter record but then displays that information to the supporter and asks them to click to confirm it. The act of clicking the button to confirm submits a Salsa form, which then sends the appropriate welcome message trigger and then sends them to the final redirect page specified in the URL.

You can see an example of that that page looks like in the screenshot below.

Customizing Tell-a-Friend Pages to Enhance Member Engagement

With both clients, we not only made their donation pages do all sorts of cool membership processing tricks but we also redesigned their Salsa templates to be more user-friendly AND to use responsive design so they would look great on mobile devices. (Adjust down the width of your browser window and you’ll see the responsive slickness in action). 

Then we also added membership logic to our special Tell-a-Friend by PowerThru pages. For both clients, when someone takes an action and is then redirected to a Tell-a-Friend page, the page checks to see if they are already a member or not. Based on that, it displays one of the following messages (each of which is customizable in Salsa):

  • If they are not a member, it asks them to join;
  • If they are a lapsed member, it asks them to renew;
  • If they are a current member, it thanks them and asks them to make an additional donation.

You can see this in action below. Same Tell-a-Friend page, but in the first screenshots we know the supporter is already a member, so the pages ask supporters to donate:

In the second example we don’t know if the supporter is a member, so the pages encourage them to join:


Topics: Salsa