Step challenges and apps within TeamRaiser
Options
We are looking to incorporate a step challenge into our upcoming TR walk. The idea being that we use a step-tracking app (contracted with or perhaps homegrown) to then display those steps on the user's TR profile. So then, X steps = $Y. Our dev team is looking at "the possibility of pulling data from an existing app using Rest API or a Rest Request."
So, I suppose my question is whether anyone knows of any best practices for this, or would be willin to share experience(s) implementaing a step challenge into TR.
Thanks in advance!
So, I suppose my question is whether anyone knows of any best practices for this, or would be willin to share experience(s) implementaing a step challenge into TR.
Thanks in advance!
Tagged:
1
Comments
-
That's an interesting idea although haven't really been implementing a step-tracking app on our walk events so far.
FitBit devices seems to have an API that could possibly accomodate what you need, have you guys checked the following:
https://dev.fitbit.com/docs/activity/
That could be one way i could think of to begin with implementation wise (lot of folks are using fitbit nowadays)
regards,
Daniel0 -
This is an idea I haven't heard before. Please post when you finish it so we can check it out.
"So then, X steps = $Y" - does that mean this will tie in with a sponsor match? Are you planning on using steps during the event, or training leading up to the event?0 -
This was the scenario I was presented to research.
- The individual fundraiser will get commitments from friends and family to pledge them $X per X steps walked, with an optional cap. For example, Jane's uncle can pledge $1 for every 10,000 steps walked, with a cap of $50 (or 500,000 steps).
- The uncle pledges $1 for 10,000 steps on Jane's fundraising page
- Jane tracks her steps every day through the event
- The app syncs to Jane's fundraising page and displays total steps (maybe once a day?)
- Jane's fundraising page (hopefully) calculates the steps walked and money pledged per step to come up with a total dollar amount raised. Ideal: broken down by each donation/pledge. The total would also need to include the amounts from people who just donated one lump sum.
0 -
Interesting. Where would the pledges be stored? Perhaps in a survey.
And then you have the whole collecting on the pledges issue. It will be very interesting to see if this approach boosts or cuts fundraising, compared to straight up donations.
Wouldn't it be cool if you could leverage the DSP functionality somehow to get card numbers up front and charge them later?0 -
JD, did you end up implementing this? Very useful concept right now, with so many events going virtual! If you did get this going, could you share some details? Were you able to integrate fitness tracking in the TR?0
-
Our Events team just asked me about this.
Tying this to fundraising is not part of this ask, just display data,
I took a look briefly at how everyday hero does this, which actually built in integration with Fitbit and a few other trackers. (Is EDH even still a thing?) It seems like what they do/did is show a collection of individual workout sessions.
Seems like this problem has 2 parts. First part is where to store the data. What about using the participant blog for this? No one ever uses that otherwise. It seems perfect, each workout would be a post and the followers could even comment on each workout.
Now how do we populate the data? Of course we're all thinking API calls to FitBit and the others, which would definitely be cool. But here's one possibly easier idea. EH has a 'manually enter a workout' option that we could mimic. https://supporter.help-us.everydayhero.com/hc/en-us/articles/115004142546 Sure looks like a blog, doesn't it?
The LO API doesn't have any TR blog integration. But maybe we could go with the old scraped form thing, or even simply manipulate the existing blog entry form directly with CSS and perhaps a little jQuery.
Going beyond a manual entry screen is going to be a bit harder, I don't see how we could periodically ping these APIs and keep the workout session current automatically for all participants. Seems like that would really have to involve actual development in Luminate. Maybe the participant could kick off a sync manually which would then retrieve the workout information via the Fitbit API. Beyond that it seems like we have to build outside of Luminate and just embed it somehow within the participant page.
If I get any further with this I'll update but I just wanted to throw it out there and see what people thought.
BPM0 -
I've just recently worked with a TeamRaiser customer on building a Strava integration. It's not live to the public yet, but here's how it works, and what I think is the best solution for storing this data in Luminate Online. (I'll note that this is a very complex integration that will definitely require a developer with knowledge of the Luminate Online API to implement.)
Luminate has a feature called Custom Interactions, which lets you store any arbitrary data on a constituent record you might want to store. Under Setup -> Interactions Management, you can create new interaction types. You could create the following types for an integration with Strava:
* Strava Activity
* Strava Weekly Summary
* Strava Monthly Summary
* Strava Annual Summary
With the Strava API, you can populate these interactions like so:
1) Every time an activity is logged, record a Strava Activity interaction with a subject like "year=2020 activity_id=1234", and in the body include a JSON object with the detail, such as the activity name, distance, elevation, time, and photo(s).
2) Additionally, every time an activity is logged, record Strava Weekly Summary, a Strava Monthly Summary, and a Strava Annual Summary interactions with subjects like "year=2020 week=2020-04-20", "year=2020 month=4", and "year=2020" respectively, and in the body, store a JSON object with the total distance and elevation.
Once you have the data recorded, you can then display it back on TeamRaiser pages. For example, with the Strava Activity interactions, you can now display a feed of a participant's activities on their personal page. With the weekly, monthly, and annual summaries, you can display a list of all participants' totals in the form of a leaderboard.
Reading and writing Custom Interactions involves using the logInteraction (http://open.convio.com/api/#constituent_api.logInteraction_method.html), updateInteraction (http://open.convio.com/api/#constituent_api.updateInteraction_method.html), getUserInteractions (http://open.convio.com/api/#constituent_api.getUserInteractions_method.html), and listInteractions (http://open.convio.com/api/#constituent_api.listInteractions_method.html) API methods.
I'll also note that here I've referred to Strava, but the same solution could work for any other fitness tracking platform that has a comparable API.5 -
That's a nice idea. I've used custom interactions in the past a bit.
What kicks off the call to the Strava API to get the data for the interaction? Is it a button click by the participant?0 -
An initial call is made to the Strava API as soon as the participant grants permission to access their account from their participant center. Depending on your use case this might vary, but as an example, this initial call can get all activity logged so far in 2020. From that point forward, Strava webhooks are used to handle every new activity that is logged. This requires server-side code hosted outside of Luminate Online to take in the Strava webhook data and then call the Luminate API.
2 -
Another possible option?
If the app in question has a UUID for each user, might be possible to make a registration question that asks for the details, then use a plain ol' conditional + [[S48:trID-cons_id:question:X]] to pull that into an iframe, widget, or off-platform API call. You'd need a guide to help the participant find his/her identifier, and probably some customization to add the question into PC3 or a lightbox prompt, but it might be less complicated than a full-on convio API customization.3 -
Just circling back with an update on what I ended up with - may be useful for the nonprofit-on-a-tight-budget! To avoid any cost at all, I just did a bit of a hack to simply use Strava's embed codes.
Strava Club - for event-wide leaderboard (weekly stats)
You can set up a Strava Club free and display its leaderboard on your homepage (or wherever) using the embed code on the Club page.
Then you can just ask your participants to join the event's Strava Club and have some friendly distance-based competition accordingly.
Here's a link to our Courage Classic Club, for example - https://www.strava.com/clubs/courageclassic - and a screenshot of Strava's options for embedding Club stats (click on pics to expand/clarify):
I haven't yet embedded the leaderboard on our homepage, so can't screenshot it, but you get the idea!
Strava user activity feed - to visually support distance goals on personal pages
You can add the basic skeleton of the user activity feed embed code for personal pages, and then either use the TR survey or an LO survey to have users submit their necessary IDs, and pull those ids into the skeleton with s-tags. If you use an LO survey, you have to link the question responses to custom constituent profile fields to pull through the s-tags, but the benefit is that you can control the survey questions/display easier than with the TR survey, and you can also assign groups easily (and show content and badges accordingly).
Here's a live example: http://support.childrenscoloradofoundation.org/site/TR/?px=1246282&pg=personal&fr_id=1660 + a screenshot of the distance and Strava embed area of the personal page.
Example of fleshing out the Strava feed embed code skeleton with s-tags:
[[?x[[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_string20]]x::xx::::<center><iframe height='200' width='280' frameborder='0' allowtransparency='true' scrolling='yes' src='https://www.strava.com/athletes/[[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_string20]]/activity-summary/[[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_string21]]'></iframe><iframe height='200' width='280' frameborder='0' allowtransparency='true' scrolling='yes' src='https://www.strava.com/athletes/[[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_string20]]/latest-rides/[[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_string21]]'></iframe></center>]]
Screenshot excerpt of the (unfortunately password-protected, but I'll still link it) survey form where we collect the IDs from the user:
Distance goals and thermometer
You can also have users submit a distance goal on the survey (as shown in the image above), and then give them a way to go back in and manually update their progress, either on the same survey or a secondary one. Then you can build thermometers based on what they've submitted on the survey(s).
Along with the one on the personal pages which is pictured above, here's an example of the thermometer I am surfacing in the Participant Center:
Badges
I haven't built any out yet because I am not adding anything we won't be able to use for more than this one COVID-crazy year, so waiting a bit longer to fully clarify how we'll integrate virtual aspects for future years, but you can see how with all this great data of goals and progress and survey groups, etc., it will be easy to add badges like "Added a distance goal" "Met half of distance goal" or "Met distance goal" etc.
Soooo, def not as elegant or automated/user-friendly as Noah's amazing-sounding option, but fits the current need, on the cheap!
EDIT/P.S.: These images look super blurry in the body of the post for some reason. If you are straining to see any detail, note that you can click on each to expand. Nice and clear then!10 -
Nice work there, Tanna. I forwarded this to my events team and now I think we're going to emulate your work.
Thanks for posting!
BPM1 -
Tanna, that's exactly what my CSM just showed me. Great work!
Curious, are you able to use this data to track individual progress or team progress if you wanted to make a leaderboard based on activity progress?
That's the question I'm getting from my team.0 -
Brian Mucha:
Nice work there, Tanna. I forwarded this to my events team and now I think we're going to emulate your work.
Thanks for posting!
BPMThanks B! Keep us in the loop with what you end up with!
0 -
Vanessa Cosio:
Tanna, that's exactly what my CSM just showed me. Great work!
Curious, are you able to use this data to track individual progress or team progress if you wanted to make a leaderboard based on activity progress?
That's the question I'm getting from my team.Vanessa Cosio - I would think so, but it depends on where you store the data and how complicated you want to get.
A very simple solution, as I mentioned, is to encourage your participants to join a Strava club for the event, which gives access to a weekly leaderboard of the top 10.
But it sounds like you hope to base it on the participant data collected in your survey content. So that would depend on where that data lives, but you can likely use s-tags to roll-your-own-API / pull all the relevant data and sort and display it. You can get at the custom profile fields using [[E48:[[S334:fr_id]]-[[S334:px]]:cons.custom_...]] (with the ... being the rest of your specific field name) as in the example I provided above, but if you are not writing the survey data to custom profile fields, you might still have some viable s-tag options - search the Community for "roll your own" and you will see additional helpful posts, including examples with survey data...
Hope that sparks some ideas for your team, and maybe some of our amazing colleagues on this Community have some more pointers!
0 -
I've had a few people ask about a follow up on my comment above. The Strava integration I referenced is live on the JDRF Ride website. Here's an example showing a participant's activity stream pulled into their TeamRaiser personal page:
https://www2.jdrf.org/site/TR?fr_id=8090&pg=personal&px=10924655
Here's an example of a week-long challenge with a collective thermometer and leaderboard for all riders:
https://www2.jdrf.org/site/SPageServer?pagename=ride_challenge&challenge_id=ride-away-from-home
(You can see more challenges at https://www2.jdrf.org/site/SPageServer?pagename=ride_challenges.)2 -
Just sharing another example here. We found that getting some participants to download an additional app to track their steps outside of maybe already having a FitBit or Apple Watch might be a barrier, so we created a simple solution for participants to add a step goal and add to it each time they go out. The team goal is the sum of all team member goals.
Here is an example of the front end progress thermometers: https://secure.rubanrose.org/site/TR?fr_id=1080&pg=entry&s_locale=en_CA
Here it is in the updated PC3:
2 -
hi Hilary Engelbrecht - I really like this implementation! I think the personal pages are using that 'question' updated via the participant center to power the 2nd thermometer, but how is the campaign-wide calculation being done?0
-
Chris Cain , a light middleware calculates that.1
-
Resurrecting this thread, to see if anyone's carrying this stuff into the new year (especially if you've got a hybrid/live event planned). And for those who ended up putting something into production, are there any lessons learned worth sharing with the class?
If you haven't checked out what Noah did with Strava on JDRF's site, it's truly inspiring. Capturing everything through custom interactions in LO is obviously the way to go if you've got the institutional knowledge.
Tanna, did you wind up putting the iFrame solution into production? If so, how'd it go?
Brian, did LCH end up doing anything? And are you still using that custom interactions-based social media panel you'd made a couple years back (or some 2.0 version of it)?
Hilary, how'd it work out for QBCF? Did participants like it?0 -
We wound up going with Charity Dynamics Boundless Motion as a short term solution. Too expensive to stay with in the long term for us though.
We've done a little bit on this on our own so far. We've done the Strava API work, and are now starting on dealing with storage. Noah's solution with interactions is neat, but I think it can't do leader boards and team or event level totals. We're looking at AWS for that part.
We do still use the solution I made for Social Media - "Handraisers" - that uses the interactions API. The interactions API was pretty easy to use as I recall. Way more so than all the different social media APIs that never seem to settle down. Happy to share if you're interested.
BPM0 -
The solution using custom interactions can indeed provide leaderboards at the event, team, and company level. See https://www2.jdrf.org/site/TR?fr_id=8212&pg=entry as an example -- in the leaderboard, you can show top participants and teams by either Fundraising or Miles. (That is not to say that adding in some third-party storage solution might not prove a better fit, especially if you happen to already be using something like AWS.)0
-
Interesting, that's doing more than I recall from when I first looked at it.
I'm interested to see if this is storing running totals for all these groups, or if it's pulling all the participant totals and doing the math in the browser.
Still not sure it will work for what our team wants. We could have around 500 participants or maybe even more, and the big kicker was that Events wanted to be able to edit individual daily sessions in order to award 'bonus miles' on certain days. Basically a way to ensure they made their event's conceptually important mileage goal. ("Help us stair climb all the way to the moon!")0 -
Brian Mucha we actually developed a custom DataSync process that runs every 15 minutes to aggregate the total distance, elevation, and moving time, that is what is used on pages like the greeting page, the personal page, the team page, and the company page (rather than any math in the browser). There's really no limit on the total number of participants, JDRF has had thousands of participants connect to Strava since this was added.1
-
Thanks Noah. That DataSync must be something that lives outside of Luminate? Or is scheduling processes like that something the CRM offers?
EDIT: Oops, you already answered this earlier. Yep, outside of LO and using WebHooks.0 -
Brian Mucha Blackbaud's Data Integration team can create scheduled processes in Luminate Online to do this sort of thing. Most commonly these are import/export operations that run nightly, but in this case it was important that the data was closer to real-time, and since the process is not resource intensive it's able to be scheduled to run more regularly.0
-
Hey Jeremy Reynolds, yep we put it in just as described. Went fine - about 10% of our registrants made use of it, no snags. They also had a much higher fundraising average at about $1000 more per participant than those who did not set up the distance goal/strava link tool, but it may be more because that particular set of fundraisers are super engaged in general (rather than us being able to say unequivocally that this particular tool inspired them to raise more.) Still, it was good to be able to offer another way to engage virtually. We are offering the same again this year and several participants have set it up again so far (about 3 weeks since launch). I'll circle back if we see really different stats or if we find ways to leverage it better and perhaps connect fundraising challenges to it...0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 21 Blackbaud Impact Edge™
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 124 Ninja Secret Society
- 32 Blackbaud Raiser's Edge NXT® Receipting EAP
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board