Preventing Constituents from Abandoning the TeamRaiser Registration Process
In an ideal world, every person who comes to your site and begins the process of registering for an event would finish that process and start fundraising on your behalf. The reality is that some percentage of visitors abandon the registration process somewhere along the way, be it because they prematurely closed their browser thinking they were done registering or because they got distracted by something shiny in your site's design. This article details how you can add a little bit of JavaScript to your site that will, hopefully, help decrease your registration abandonment rate, and in turn, increase fundraising results. The steps outlined here were followed by an organization I work with, and they immediately saw a 5 point decrease in abandonment rates.
1) Create a reusable PageBuilder page called reus_tr_preventRegAbandonment. With the WYSIWYG disabled, copy and paste the following code into the page content and publish.
<script type="text/javascript">
[[?x27x::x[[S4]]x::
//TeamRaiser Registration
[[?xrthanksx::x[[S334g]]x::
//On the thank you page, no need to attach the onbeforeunload event
::
var registrationUnloadWarningMessage='If you leave this page your registration will not be processed.';
addOnLoadHandler(function(){
[[?[[A0]]::<meta http-equiv::
//The user clicked "Cancel" and the page is attempting to redirect to the Greeting page, no need to attach the onbeforeunload event
::
//Attach onbeforeunload event to prompt the user to confirm that they wish to leave the registration flow
window.onbeforeunload=function(){
return registrationUnloadWarningMessage;
}
var resetOnBeforeUnload=function(){
//Remove the onbeforeunload event when the user clicks on a submit button or a link in the content area
window.onbeforeunload=null;
};
var currentRegStep;
[[?xx::x[[S334g]]x::
if(document.getElementsByName('pg')[0])
currentRegStep=document.getElementsByName('pg')[0].value;
::
currentRegStep='[[S334g]]';
]]
if(currentRegStep=='tfind'){
//Join or Form a Team page
if(document.getElementById('fr_find_search'))
Utils.addEvent(document.getElementById('fr_find_search'),'click',resetOnBeforeUnload);
if(document.getElementById('previous_step'))
Utils.addEvent(document.getElementById('previous_step'),'click',resetOnBeforeUnload);
if(document.getElementById('friend_potion_next'))
Utils.addEvent(document.getElementById('friend_potion_next'),'click',resetOnBeforeUnload);
var allContentLinks=document.getElementsByName('pg')[0].parentNode.getElementsByTagName('a');
for(i=0;i<allContentLinks.length;i++){
if(allContentLinks[i])
Utils.addEvent(allContentLinks[i],'click',resetOnBeforeUnload);
}
}
else if(currentRegStep=='ptype'){
//Participation Type page
if(document.getElementById('previous_step'))
Utils.addEvent(document.getElementById('previous_step'),'click',resetOnBeforeUnload);
if(document.getElementById('next_step'))
Utils.addEvent(document.getElementById('next_step'),'click',resetOnBeforeUnload);
}
else if(currentRegStep=='utype'){
//New or Returning User page
if(document.getElementById('login'))
Utils.addEvent(document.getElementById('login'),'click',resetOnBeforeUnload);
if(document.getElementById('user_name'))
Utils.addEvent(document.getElementById('user_name'),'click',resetOnBeforeUnload);
if(document.getElementById('previous_step'))
Utils.addEvent(document.getElementById('previous_step'),'click',resetOnBeforeUnload);
if(document.getElementById('next_step'))
Utils.addEvent(document.getElementById('next_step'),'click',resetOnBeforeUnload);
}
else if(currentRegStep=='reg'||currentRegStep=='reganother'){
//Registration Information page
if(document.getElementById('previous_step'))
Utils.addEvent(document.getElementById('previous_step'),'click',resetOnBeforeUnload);
if(document.getElementById('previous_button'))
Utils.addEvent(document.getElementById('previous_button'),'click',resetOnBeforeUnload);
if(document.getElementById('next_step'))
Utils.addEvent(document.getElementById('next_step'),'click',resetOnBeforeUnload);
if(document.getElementById('next_button'))
Utils.addEvent(document.getElementById('next_button'),'click',resetOnBeforeUnload);
}
else if(currentRegStep=='waiver'){
//Waiver page
if(document.getElementById('fuw_previous'))
Utils.addEvent(document.getElementById('fuw_previous'),'click',resetOnBeforeUnload);
if(document.getElementById('fuw_next'))
Utils.addEvent(document.getElementById('fuw_next'),'click',resetOnBeforeUnload);
}
else if(currentRegStep=='regsummary'){
//Registration Summary page
if(document.getElementById('another_button'))
Utils.addEvent(document.getElementById('another_button'),'click',resetOnBeforeUnload);
if(document.getElementById('next_button'))
Utils.addEvent(document.getElementById('next_button'),'click',resetOnBeforeUnload);
var allPageLinks=document.getElementsByTagName('a');
for(i=0;i<allPageLinks.length;i++){
if(allPageLinks[i]&&allPageLinks[i].href&&(allPageLinks[i].href.indexOf('action=previous')!=-1||allPageLinks[i].href.indexOf('action=delete')!=-1))
Utils.addEvent(allPageLinks[i],'click',resetOnBeforeUnload);
}
}
]]
});
]]
::]]
[[?x1x::x[[S4]]x::
//Donations Classic
var registrationUnloadWarningMessage='If you leave this page your registration will not be processed.';
addOnLoadHandler(function(){
[[?[[A0]]::<meta http-equiv::
//The user clicked "Cancel" and the page is attempting to redirect to the Greeting page, no need to attach the onbeforeunload event
::
if(document.getElementById('FR_ID')&&document.getElementById('FR_ID').value!=''){
//Attach onbeforeunload event to prompt the user to confirm that they wish to leave the registration flow
window.onbeforeunload=function(){
return registrationUnloadWarningMessage;
}
var resetOnBeforeUnload=function(){
window.onbeforeunload=null;
};
var currentBillingStep;
[[?xx::x[[S334:dpage]]x::
currentBillingStep='billing';
::
currentBillingStep='[[S334:dpage]]';
]]
if(currentBillingStep=='billing'){
//Billing page
if(document.getElementById('CANCEL_DIRECT_PAY_FORM'))
Utils.addEvent(document.getElementById('CANCEL_DIRECT_PAY_FORM'),'click',resetOnBeforeUnload);
if(document.getElementById('PARSE_PAYMENT_FORM'))
Utils.addEvent(document.getElementById('PARSE_PAYMENT_FORM'),'click',resetOnBeforeUnload);
}
else if(currentBillingStep=='pay2'){
//Billing Confirmation page
resetOnBeforeUnload=function(){
submitted=false;
window.onbeforeunload=null;
}
if(document.getElementById('SHOW_PAYMENT_FORM'))
Utils.addEvent(document.getElementById('SHOW_PAYMENT_FORM'),'click',resetOnBeforeUnload);
if(document.getElementById('TRANSACT_CHARGE'))
Utils.addEvent(document.getElementById('TRANSACT_CHARGE'),'click',resetOnBeforeUnload);
if(document.getElementById('CANCEL_DIRECT_PAY_FORM'))
Utils.addEvent(document.getElementById('CANCEL_DIRECT_PAY_FORM'),'click',resetOnBeforeUnload);
if(document.getElementById('PARSE_PAYMENT_FORM'))
Utils.addEvent(document.getElementById('PARSE_PAYMENT_FORM'),'click',resetOnBeforeUnload);
}
}
]]
});
::]]
</script>
2) In the "Additional HTML Tags for HEAD Element" section of your page wrapper(s), add the following:
[[S51:reus_tr_preventRegAbandonment]]
3) Go to your TeamRaiser event and begin the registration process. Try to abandon the process by either clicking on the "Cancel" button, clicking on a link in your page wrapper's navigation, or closing your browser entirely. If you've followed the above steps correctly, you should see a message like this (how it looks varies by browser).
Comments
-
I'd love to give this a try but it looks like the coding in section 2 might be messed up post-conversion to the new Convio Community. All it shows is to place
]
in your pagewrapper...
I tried add [[S51:reus_tr_preventRegAbandonment]] to the pagewrapper but doesn't seem like that alone was enough to make it work.
0 -
Jon Cass:
I'd love to give this a try but it looks like the coding in section 2 might be messed up post-conversion to the new Convio Community. All it shows is to place
]
in your pagewrapper...
I tried add [[S51:reus_tr_preventRegAbandonment]] to the pagewrapper but doesn't seem like that alone was enough to make it work.
Actually, I think the SCRIPT itself got hosed in the conversion. I wonder if it's possible to get Noah to post this fresh in the new Community? The original post lived here: http://community.customer.convio.com/docs/DOC-3483
Noah?
0 -
Ryan Rogers:
Actually, I think the SCRIPT itself got hosed in the conversion. I wonder if it's possible to get Noah to post this fresh in the new Community? The original post lived here: http://community.customer.convio.com/docs/DOC-3483
Noah?
There was a problem migrating the posts with STags. Kent is working on the fix.
0 -
I've updated the initial post so the code displays properly!
0 -
Noah Cooper:
I've updated the initial post so the code displays properly!
Thanks Noah!!!!
0 -
Noah Cooper:
I've updated the initial post so the code displays properly!
Noah Cooper wrote:I've updated the initial post so the code displays properly!
Thanks! You're the best!
0 -
Noah Cooper:
I've updated the initial post so the code displays properly!
Thanks, Noah!!
0 -
Would it be possible to create something smiliar for donation forms? Would love to see if something like this could help increase conversion rates, but not familiar enough with java to re-code this myself.
0 -
Jon Cass:
We're interested in something similar for donation forms as well.Would it be possible to create something smiliar for donation forms? Would love to see if something like this could help increase conversion rates, but not familiar enough with java to re-code this myself.
Has anybody tried that yet?
Adam0 -
I can't get this to work. Is it possible to add a text file to the post. There are Smiley tongue references where the S-tags should be.
Thanks0
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
- 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