Automating the designee of TR donation form for DIY fundraising - HELP!
Options
Happy Monday All!
I am hoping some lifesaver out there can help me with a tricky TR donation issue. We have a couple of TRs we are using for DIY fundraising, and the fundraiser lets us know during registration which designation they want to support with their fundraising (through a free text registration question stored to a custom profile field). We then need to associate all donations collected through their personal page with the designation they indicated.
Right now it is a quite cumbersome process, involving manually re-associating the gifts in BBCRM (which flow from our LO-BBCRM sync into a temporary suspense holding designation) to each fundraiser's correct chosen designation, on a daily basis.
I would think there is a way to trigger this more automatically. Looks like the fundraiser's ID is available in the url of the donation page through &PROXY_ID=. If I can use that ID to then grab a designee ID stored in a custom field on the fundraiser's LO record and use it to trigger the autopopulation of the hidden designee field on the donation form so that the designation comes down to BBCRM normally, that seems pretty perfect.
So basically, I am thinking the solution could be something like:
I'm not sure if my solution above is possible, though, since it is not the logged-in user's custom field info I am trying to access, but instead the fundraiser's. Also I'm not so good at writing functions from scratch, so struggling to even test the theory. Do any of you amazing, knowledgeable LO peeps out there have advice on how I could do the above? Or a better solution? Anyone already do anything similar?
js/jquery and/or s-tag-based ideas welcome! Also, we are not using API donation forms, just the out-of-box donation forms, but if you think an API solution would be necessary, please let me know!
(And as a second side note, just FYI, I'll also probably change the fundraiser registration forms to have a designation choice drop-down instead of free text, to make it easier to automate that aspect as well.)
As always, thank you all SO SO MUCH!
Tanna
I am hoping some lifesaver out there can help me with a tricky TR donation issue. We have a couple of TRs we are using for DIY fundraising, and the fundraiser lets us know during registration which designation they want to support with their fundraising (through a free text registration question stored to a custom profile field). We then need to associate all donations collected through their personal page with the designation they indicated.
Right now it is a quite cumbersome process, involving manually re-associating the gifts in BBCRM (which flow from our LO-BBCRM sync into a temporary suspense holding designation) to each fundraiser's correct chosen designation, on a daily basis.
I would think there is a way to trigger this more automatically. Looks like the fundraiser's ID is available in the url of the donation page through &PROXY_ID=. If I can use that ID to then grab a designee ID stored in a custom field on the fundraiser's LO record and use it to trigger the autopopulation of the hidden designee field on the donation form so that the designation comes down to BBCRM normally, that seems pretty perfect.
So basically, I am thinking the solution could be something like:
- default hidden single_designee to option value 1041 (as catch-all to write to suspense designation in case next step fails)
- grab content of custom_number1 from record of url PROXY_ID, and use it to select single_designee option with matching value #
- if custom_number1 null, single_designee option value=1041 (suspense)
I'm not sure if my solution above is possible, though, since it is not the logged-in user's custom field info I am trying to access, but instead the fundraiser's. Also I'm not so good at writing functions from scratch, so struggling to even test the theory. Do any of you amazing, knowledgeable LO peeps out there have advice on how I could do the above? Or a better solution? Anyone already do anything similar?
js/jquery and/or s-tag-based ideas welcome! Also, we are not using API donation forms, just the out-of-box donation forms, but if you think an API solution would be necessary, please let me know!
(And as a second side note, just FYI, I'll also probably change the fundraiser registration forms to have a designation choice drop-down instead of free text, to make it easier to automate that aspect as well.)
As always, thank you all SO SO MUCH!
Tanna
Tagged:
0
Comments
-
Hi all! Update in case this is helpful to anyone else doing designated DIY TR fundraising - here is what I've come up with so far. Seems to work fine, but again, I am still a monkey-see-monkey-do js/jquery tinkerer, not formally trained yet. Would LOVE the feedback if any jquery-savvy people see issues with this!!
//default designation selection radio
$('input:radio[id=single_designee_designated]').val(['designated']);
//load in designation value; custom_number5 = Team Children's TR / custom_number6 = TCC Birthdays TR; suspense designation 1041 if custom field is empty
var TCCdesignee='[[E48:[[S334:FR_ID]]-[[S334:PROXY_ID]]:cons.custom_number6]]';
if (!TCCdesignee) {
$('#single_designee').val('1041');
}else{
$('#single_designee').val(TCCdesignee);
};
Screenshot shows a temporary line of text up top confirming the contents of custom_number6 for the test fundraiser, and shows that the corresponding designation has been correctly populated (though of course I will hide the designation area once this is complete).
So this is working well in feeding the designee ID from the fundraiser (as identified from PROXY_ID in the url) as it is stored in a custom number field on the fundraiser's constituent record.
Sooooo step 2: I intend to have that custom number field populate from a couple of questions on the fundraiser's TR registration form - one which is a required single-selection drop down with the friendly names of the designees we want to offer, which I will then have a bit of code translate into the corresponding designee ID # and insert into a hidden question linked to the appropriate constituent custom number field for that TR's designee. If the desired designation isn't offered, the fundraiser can choose "other" (and fill in a note about the designation) - this will trigger our suspense designation and prompt our staff to manually review / update the custom field with the ID of the requested designation. Still a little work, but nowhere near as bad as it has been having to edit every single donation from our DIY TRs! Will post an update when I have that part of things set up, as well.
Just sharing my progress so no one spends time trying to answer the initial question! But again, would love feedback at this stage!! Thanks all!!!
0 -
I actually built a solution for this some time ago that I call 'Designated Fundraising'. I've been lazy about documenting it enough to post here.
The TR fundraiser tells us what fund they want their donations to support, and we add them to a JSON look-up file. Here's a sample entry:
"1924661":
{
"fund_id": "1588",
"tribute_type": "memorial",
"tribute_name": "Joshua McFadden",
"tribute_import": "00001-602-0000040224"
}
When the page loads it grabs the PROXY_ID from the URL, which is the team or fundraiser's participant Id, and then uses that as the key to find if they have asked for a fund and what that fund id is.
It's all done in a JQuery plugin. Here's a sample on a live form:
https://secure3.convio.net/cmf/site/Donation2?df_id=12064&12064.donation=form1&FR_ID=1720&mfc_pref=T&PROXY_ID=1924661&PROXY_TYPE=20
I use the s_debug parameter to show the normally hidden fields so we can make sure it's working. It also loads the unminimized scripts for easy debugging.
https://secure3.convio.net/cmf/site/Donation2?df_id=12064&12064.donation=form1&FR_ID=1720&mfc_pref=T&PROXY_ID=1924661&PROXY_TYPE=20&s_debug=true
Here's the plugin:
https://secure3.convio.net/cmf/_resources-teamraiser/reus_js/jquery.madFunds.js
I also have version 2 nearly complete, which allows for gifts to be split evenly between up to four funds.
BPM0 -
Whoa, only just seeing this today - how'd I miss this? Sweet - thank you so much for sharing, Brian!!!
Q: As new fundraisers register, is the update of the json file automated?
0 -
No, not automated.
We have the TR set so new registrants need to have their personal page approved by the event manager.
The registrant provides the fund designation and tribute information when registering. We have about 5 bazillion funds, so the fund_id needs to be selected by someone internally based on the registrant's description. The tribute honoree also needs to be created in RE, which then gives us the RE Import_id for that record. Then we update the JSON file and approve the user's personal page.
The fund_id and Import_Id are passed on the transaction, and then used by OMatic to automatically connect the donation to the proper fund and honoree in RE.
EDIT: A few words0 -
Okidok, I think I'm on a good path! Thank you again so much for sharing your plugin!!!! You da real one!
0 -
Tanna Lewis:
Okidok, I think I'm on a good path! Thank you again so much for sharing your plugin!!!! You da real one!
You bet. Here's the newer version I mentioned.
https://secure3.convio.net/cmf/site/SPageServer?pagename=designated_fundraising_teamraiser_test&FR_ID=1234&mfc_pref=T&PROXY_ID=1105632&PROXY_TYPE=24&s_debug=true
This one allows for split designations. It splits the amount evenly across up to four funds. The JSON looks like this:
{
"1105632":
{
"fund_id_0": "1164",
"fund_id_1": "1041",
"fund_id_2": "1168",
"fund_id_3": "1176",
"tribute_type": "honor",
"tribute_name": "Nora Mucha",
"tribute_import": "00001-593-0000530024"
}
}
Here's the script:
https://secure3.convio.net/cmf/_wrappers/luriechildrens/mainsite_2018/scripts/luminate-designated.js
The ghost form should use the Designated Giving Donation Level widget with four Single Drop-Down Lists configured.
Here's the form - though the user never sees it.
http://foundation.luriechildrens.org/site/Donation2?13065.donation=form1&df_id=13065&mfc_pref=T
I'd be interested if you do anything with this. Feedback is welcome too.
B
0 -
That is super slick! We currently don't allow split designations in LO at all, but that being said, some of our DIY TR fundraisers do request a split, which we handle manually on the BBCRM side. Would definitely be nice to automate that aspect as well. However, doubtful that our LO-BBCRM integration can handle it. So I will investigate that side of things and will def let you know how it goes!!
Also really appreciate seeing your example of configuring the donation form Designated Giving this way and your note on where to set up, since it isn't something we've offered before. If the LO-BBCRM integration can handle it, this has some other potential future uses...
AND, ahem, didn't know about s_debug before this week and I'm liking life better since learning that lil tidbit, too.
So thank you very, very much, as always!!!
0 -
Same deal here with split gifts. This is our first use too.
That s_debug doesn't have any special function by itself in LO. It's just a normal session variable.
You can set them in the URL just like you would with [[U0:varName]] and then read it with [[S80:varName]]. So set a variable in the url like &s_foo=bar and then later read it on page like [[S80:foo]].
https://www.blackbaud.com/support/howto/coveo/luminate-online/Subsystems/S-Tags/S-Tags/S80_Value_of_Session_Variable.html
I use s_debug to do a few useful things.
Here's a conditional for the pagewrapper to use un-minimized or minimized scripts.
[[?[[S80:debug]]::true::
<script src="../_wrappers/luriechildrens/mainsite_2018/scripts/luminate-designated.js"></script>
::
<script src="../_wrappers/luriechildrens/mainsite_2018/scripts/luminate-designated.min.js"></script>
]]
Or to show a normally hidden block (just like this form does)
<div class="[[?[[S80:debug]]::true::hidden::]]">
Normally Hidden Stuff
</div>
EDIT: Oops! Had S80 and U0 swapped. Fixed.
By the way, the docs say that S80/U0 don't work in email but they sure do.
The trick there is that you have to set the variable with U0 before you read it using S80 according to the DOM. So for instance you can't set it at the bottom of your stationary and then read it in the message body, because that will be out of order.
I use this particularly with emails that use reusable content for the message. Set something like Event Title in the message body right before including the reusable. Then in the reusable content you can say:
<h1>Thanks for registering for [[S80:eventTitle]]</h1>0 -
Ah, I see. Thought it was LO function to show elements hidden at the form level. But that is so cool!! I've never thought to do that, though now that I think of it, I must have reviewed test versions of scripts which I bet were handled similarly. That is super super useful.
OK, I am learning too much for a Friday afternoon, Brian, stop. Hahaha! Have a good weekend!
Overflowing with gratitude,
Tanna
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