April 16, 2024
Jim Eskin Ethics
October is Association of Fundraising Professionals’ Ethics Month – Jim Eskin
October 8, 2022
[PODCAST] Amazon Has a BIG Impact for Nonprofits
October 14, 2022
Jim Eskin Ethics
October is Association of Fundraising Professionals’ Ethics Month – Jim Eskin
October 8, 2022
[PODCAST] Amazon Has a BIG Impact for Nonprofits
October 14, 2022

A Guide to Donor Retention

A Guide to Donor Retention

 

A Guide to Donor Retention

On average, about 2 in 10 donors who gave to an organization last year will give to that organization again this year. While it’s great to have some donors
become repeat donors, several nonprofits are missing out on an opportunity to boost their revenue by engaging the remaining 80%. Donor retention is about winning your donors’ trust over time, so they can be motivated to give again. One key reason first-time donors may not give again is the lack of an emotional connection with the nonprofit. If you don’t stay engaged with first-time donors, show your credibility and highlight the continued impact of your organization’s work, it’s only a matter of time before you lose them.

This guide defines donor retention rate, explains how you can calculate your organization’s donor retention rate, and recommends three strategies to help you improve your donor retention. On average, about 2 in 10 donors who gave to an organization last year will give to that organization again this year. While it’s great to have some donors become repeat donors, several nonprofits are missing out on an opportunity to boost their revenue by engaging the remaining 80%. Donor retention is about winning your donors’ trust over time, so they can be motivated to give again. One key reason first-time donors may not give again is the lack of an emotional connection with the nonprofit. If you don’t stay engaged with first-time donors, show your credibility and highlight the continued impact of your organization’s work, it’s only a matter of time before you lose them. This guide defines donor retention rate, explains how you can calculate your organization’s donor retention rate, and recommends three strategies to help you improve your donor retention.

 

The “Guide to Donor Retention” from Fundraising Kit discusses:

  • What is Donor Retention Rate
  • 3 Key Strategies for Improving Your Donor Retention Rate

  • How to Calculate Donor Retention Rate

#_form_274_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; }
#_form_274_ * { outline:0; }
._form_hide { display:none; visibility:hidden; }
._form_show { display:block; visibility:visible; }
#_form_274_._form-top { top:0; }
#_form_274_._form-bottom { bottom:0; }
#_form_274_._form-left { left:0; }
#_form_274_._form-right { right:0; }
#_form_274_ input[type=”text”],#_form_274_ input[type=”tel”],#_form_274_ input[type=”date”],#_form_274_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
#_form_274_ textarea { resize:none; }
#_form_274_ ._submit { -webkit-appearance:none; cursor:pointer; font-family:arial, sans-serif; font-size:14px; text-align:center; background:#478400 !important; border:0 !important; -moz-border-radius:4px !important; -webkit-border-radius:4px !important; border-radius:4px !important; color:#fff !important; padding:20px !important; }
#_form_274_ ._close-icon { cursor:pointer; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png’); background-repeat:no-repeat; background-size:14.2px 14.2px; position:absolute; display:block; top:11px; right:9px; overflow:hidden; width:16.2px; height:16.2px; }
#_form_274_ ._close-icon:before { position:relative; }
#_form_274_ ._form-body { margin-bottom:30px; }
#_form_274_ ._form-image-left { width:150px; float:left; }
#_form_274_ ._form-content-right { margin-left:164px; }
#_form_274_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; }
#_form_274_ ._form-branding ._logo { display:block; width:130px; height:14px; margin-top:6px; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png’); background-size:130px auto; background-repeat:no-repeat; }
#_form_274_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; }
#_form_274_ ._form-label,#_form_274_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; }
#_form_274_._dark ._form-branding { color:#333; }
#_form_274_._dark ._form-branding ._logo { background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png’); }
#_form_274_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; }
#_form_274_ ._form_element * { font-size:14px; }
#_form_274_ ._form_element._clear { clear:both; width:100%; float:none; }
#_form_274_ ._form_element._clear:after { clear:left; }
#_form_274_ ._form_element input[type=”text”],#_form_274_ ._form_element input[type=”date”],#_form_274_ ._form_element select,#_form_274_ ._form_element textarea:not(.g-recaptcha-response) { display:block; width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-family:inherit; }
#_form_274_ ._field-wrapper { position:relative; }
#_form_274_ ._inline-style { float:left; }
#_form_274_ ._inline-style input[type=”text”] { width:150px; }
#_form_274_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; }
#_form_274_ ._form_element img._form-image { max-width:100%; }
#_form_274_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; }
#_form_274_ ._clear-element { clear:left; }
#_form_274_ ._full_width { width:100%; }
#_form_274_ ._form_full_field { display:block; width:100%; margin-bottom:10px; }
#_form_274_ input[type=”text”]._has_error,#_form_274_ textarea._has_error { border:#f37c7b 1px solid; }
#_form_274_ input[type=”checkbox”]._has_error { outline:#f37c7b 1px solid; }
#_form_274_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; }
#_form_274_ ._error._above { padding-bottom:4px; bottom:39px; right:0; }
#_form_274_ ._error._below { padding-top:4px; top:100%; right:0; }
#_form_274_ ._error._above ._error-arrow { bottom:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #f37c7b; }
#_form_274_ ._error._below ._error-arrow { top:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #f37c7b; }
#_form_274_ ._error-inner { padding:8px 12px; background-color:#f37c7b; font-size:14px; font-family:arial, sans-serif; color:#fff; text-align:center; text-decoration:none; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; }
#_form_274_ ._error-inner._form_error { margin-bottom:5px; text-align:left; }
#_form_274_ ._button-wrapper ._error-inner._form_error { position:static; }
#_form_274_ ._error-inner._no_arrow { margin-bottom:10px; }
#_form_274_ ._error-arrow { position:absolute; width:0; height:0; }
#_form_274_ ._error-html { margin-bottom:10px; }
.pika-single { z-index:10000001 !important; }
#_form_274_ input[type=”text”].datetime_date { width:69%; display:inline; }
#_form_274_ select.datetime_time { width:29%; display:inline; height:32px; }
#_form_274_ input[type=”date”].datetime_date { width:69%; display:inline-flex; }
#_form_274_ input[type=”time”].datetime_time { width:29%; display:inline-flex; }
@media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; }
#_form_274_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; }
#_form_274_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; }
#_form_274_ ._form-content { margin:0; width:100%; }
#_form_274_ ._form-inner { display:block; min-width:100%; }
#_form_274_ ._form-title,#_form_274_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; }
#_form_274_ ._form-title { font-size:1.2em; }
#_form_274_ ._form_element { margin:0 0 20px; padding:0; width:100%; }
#_form_274_ ._form-element,#_form_274_ ._inline-style,#_form_274_ input[type=”text”],#_form_274_ label,#_form_274_ p,#_form_274_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; }
#_form_274_ ._row._checkbox-radio label { display:inline; }
#_form_274_ ._row,#_form_274_ p,#_form_274_ label { margin-bottom:0.7em; width:100%; }
#_form_274_ ._row input[type=”checkbox”],#_form_274_ ._row input[type=”radio”] { margin:0 !important; vertical-align:middle !important; }
#_form_274_ ._row input[type=”checkbox”] + span label { display:inline; }
#_form_274_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; }
#_form_274_ ._form-image { max-width:100%; height:auto !important; }
#_form_274_ input[type=”text”] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; }
#_form_274_ input[type=”radio”],#_form_274_ input[type=”checkbox”] { display:inline-block; width:1.3em; height:1.3em; font-size:1em; margin:0 0.3em 0 0; vertical-align:baseline; }
#_form_274_ button[type=”submit”] { padding:20px; font-size:1.5em; }
#_form_274_ ._inline-style { margin:20px 0 0 !important; }
}
#_form_274_ { position:relative; text-align:left; margin:25px auto 0; padding:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:#fff !important; border:1px solid #fff !important; max-width:1000px; -moz-border-radius:0px !important; -webkit-border-radius:0px !important; border-radius:0px !important; color:#393a3a !important; }
#_form_274_._inline-form,#_form_274_._inline-form ._form-content,#_form_274_._inline-form input,#_form_274_._inline-form ._submit { font-family:”Lato”, sans-serif; }
#_form_274_ ._form-title { font-size:22px; line-height:22px; font-weight:600; margin-bottom:0; }
#_form_274_:before,#_form_274_:after { content:” “; display:table; }
#_form_274_:after { clear:both; }
#_form_274_._inline-style { width:auto; display:inline-block; }
#_form_274_._inline-style input[type=”text”],#_form_274_._inline-style input[type=”date”] { padding:10px 12px; }
#_form_274_._inline-style button._inline-style { position:relative; top:27px; }
#_form_274_._inline-style p { margin:0; }
#_form_274_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; }
#_form_274_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; }
@media all and (min-width:320px) and (max-width:667px) { #_form_274_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; }
}
#_form_274_ .iti.iti–allow-dropdown.iti–separate-dial-code { width:100%; }
#_form_274_ .iti input { width:100%; height:32px; border:#979797 1px solid; border-radius:4px; }
#_form_274_ .iti–separate-dial-code .iti__selected-flag { background-color:#fff; border-radius:4px; }
#_form_274_ .iti–separate-dial-code .iti__selected-flag:hover { background-color:rgba(0, 0, 0, 0.05); }
#_form_274_ .iti__country-list { border-radius:4px; margin-top:4px; min-width:460px; }
#_form_274_ .iti__country-list–dropup { margin-bottom:4px; }
#_form_274_ .phone-error-hidden { display:none; }
#_form_274_ .phone-error { color:#e40e49; }
#_form_274_ .phone-input-error { border:1px solid #e40e49 !important; }

#_form_274_ ._x80854906 input { padding:1.5% 0 !important; }
#_form_274_ ._x97066595 input { padding:1.5% !important; }
#_form_274_ ._x37021217 input { padding:1.5% !important; }
#_form_274_ ._field34 select { padding:1.5% !important; border-radius:5px !important; }
#_form_274_ input { padding-left:2% !important; }
#_form_274_ ._submit { margin-top:1% !important; padding:20px 80px !important; }

Get the guide!

Alabama

Alaska

American Samoa

Arizona

Arkansas

Armed Forces Africa

Armed Forces Americas (except Canada)

Armed Forces Canada

Armed Forces Europe

Armed Forces Middle East

Armed Forces Pacific

California

Colorado

Connecticut

Delaware

District of Columbia

Federated States of Micronesia

Florida

Georgia

Guam

Hawaii

Idaho

Illinois

Indiana

Iowa

Kansas

Kentucky

Louisiana

Maine

Marshall Islands

Maryland

Massachusetts

Michigan

Minnesota

Mississippi

Missouri

Montana

Nebraska

Nevada

New Hampshire

New Jersey

New Mexico

New York

North Carolina

North Dakota

Northern Mariana Islands

Ohio

Oklahoma

Oregon

Palau

Pennsylvania

Puerto Rico

Rhode Island

South Carolina

South Dakota

Tennessee

Texas

Utah

Vermont

Virgin Islands

Virginia

Washington

West Virginia

Wisconsin

Wyoming

Outside the United States

Billing State

MI

GA

NE

RI

NY

SD

LA

IL

MN

CA

NV

NJ

CO

ND

UT

MO

TN

VA

IN

NC

DE

WI

PA

CT

BC

QC

TX

MA

AZ

OH

MD

QLD

DC

FL

NM

IA

AR

ON

KY

WA

Auckland

Kampala

NH

MT

OR

ID

AL

B.C

SC

KS

alaska

Tx

United States

Canada

Jamaica

Nigeria

Malta

Italy

Peru

Singapore

Spain

Uganda

Namibia

Portugal

Ghana

South Africa

Zimbabwe

Israel

New Zealand

Senegal

Kenya

window.cfields = {“34″:”state_or_province”};
window._show_thank_you = function(id, message, trackcmp_url, email) {
var form = document.getElementById(‘_form_’ + id + ‘_’), thank_you = form.querySelector(‘._form-thank-you’);
form.querySelector(‘._form-content’).style.display = ‘none’;
thank_you.innerHTML = message;
thank_you.style.display = ‘block’;
const vgoAlias = typeof visitorGlobalObjectAlias === ‘undefined’ ? ‘vgo’ : visitorGlobalObjectAlias;
var visitorObject = window[vgoAlias];
if (email && typeof visitorObject !== ‘undefined’) {
visitorObject(‘setEmail’, email);
visitorObject(‘update’);
} else if (typeof(trackcmp_url) != ‘undefined’ && trackcmp_url) {
// Site tracking URL to use after inline form submission.
_load_script(trackcmp_url);
}
if (typeof window._form_callback !== ‘undefined’) window._form_callback(id);
};
window._show_error = function(id, message, html) {
var form = document.getElementById(‘_form_’ + id + ‘_’), err = document.createElement(‘div’), button = form.querySelector(‘button’), old_error = form.querySelector(‘._form_error’);
if (old_error) old_error.parentNode.removeChild(old_error);
err.innerHTML = message;
err.className = ‘_error-inner _form_error _no_arrow’;
var wrapper = document.createElement(‘div’);
wrapper.className = ‘_form-inner’;
wrapper.appendChild(err);
button.parentNode.insertBefore(wrapper, button);
document.querySelector(‘[id^=”_form”][id$=”_submit”]’).disabled = false;
if (html) {
var div = document.createElement(‘div’);
div.className = ‘_error-html’;
div.innerHTML = html;
err.appendChild(div);
}
};
window._load_script = function(url, callback) {
var head = document.querySelector(‘head’), script = document.createElement(‘script’), r = false;
script.type = ‘text/javascript’;
script.charset = ‘utf-8’;
script.src = url;
if (callback) {
script.onload = script.onreadystatechange = function() {
if (!r && (!this.readyState || this.readyState == ‘complete’)) {
r = true;
callback();
}
};
}
head.appendChild(script);
};
(function() {
if (window.location.search.search(“excludeform”) !== -1) return false;
var getCookie = function(name) {
var match = document.cookie.match(new RegExp(‘(^|; )’ + name + ‘=([^;]+)’));
return match ? match[2] : null;
}
var setCookie = function(name, value) {
var now = new Date();
var time = now.getTime();
var expireTime = time + 1000 * 60 * 60 * 24 * 365;
now.setTime(expireTime);
document.cookie = name + ‘=’ + value + ‘; expires=’ + now + ‘;path=/; Secure; SameSite=Lax;’;// cannot be HttpOnly
}
var addEvent = function(element, event, func) {
if (element.addEventListener) {
element.addEventListener(event, func);
} else {
var oldFunc = element[‘on’ + event];
element[‘on’ + event] = function() {
oldFunc.apply(this, arguments);
func.apply(this, arguments);
};
}
}
var _removed = false;
var form_to_submit = document.getElementById(‘_form_274_’);
var allInputs = form_to_submit.querySelectorAll(‘input, select, textarea’), tooltips = [], submitted = false;

var getUrlParam = function(name) {
var params = new URLSearchParams(window.location.search);
return params.get(name) || false;
};

for (var i = 0; i < allInputs.length; i++) { var regexStr = "field[(d+)]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('
‘));
}
} else if (elem.tagName == ‘SELECT’) {
var selected = true;
if (elem.multiple) {
selected = false;
for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && (!elem.options[i].value || (elem.options[i].value.match(/n/g)))) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required."); } } if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) { if (elem.className.includes('phone-input-error')) { elem.className = elem.className + ' _has_error'; no_error = false; } } if (no_error && elem.name == 'email') { if (!value.match(/^[+_a-z0-9-'&=]+(.[+_a-z0-9-']+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid email address."); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^dddd-dd-dd$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'tel') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); } if (input.type == 'text' || input.type == 'number' || input.type == 'time') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i 31 && (charCode 57) && charCode !== 8) { e.preventDefault(); } }); }; var showPhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.add("phone-error"); errorMessage.classList.remove("phone-error-hidden"); input.classList.add("phone-input-error"); }; window['recaptcha_callback'] = function() { // Get all recaptchas in the DOM (there may be more than one form on the page). var recaptchas = document.getElementsByClassName("g-recaptcha"); for (var i in recaptchas) { // Set the recaptcha element ID, so the recaptcha can be applied to each element. var recaptcha_id = "recaptcha_" + i; recaptchas[i].id = recaptcha_id; var el = document.getElementById(recaptcha_id); if (el != null) { var sitekey = el.getAttribute("data-sitekey"); var stoken = el.getAttribute("data-stoken"); grecaptcha.render(recaptcha_id, {"sitekey":sitekey,"stoken":stoken}); } } }; _load_script("https://www.google.com/recaptcha/api.js?onload=recaptcha_callback&render=explicit"); var _form_serialize = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i

This intuitive guide on donor retention is brought to you by:

donor retention

The post A Guide to Donor Retention appeared first on Nonprofit Hub.

Share and Enjoy !

Shares

Leave a Reply

Your email address will not be published. Required fields are marked *