16 Email Your Contribution Statements! Shared by Jim Michael, The Crossing 2 years ago 7.0 Administration / Finance, Communications Intermediate The Why Would it shock you to learn that we haven't mailed-out contribution statements in over ten years at our organization? (At least here in Missouri, we're not required to.) Sure, there are a handful we have to print and mail each year for those that can't or won't use computers and email, but the other 99.7% of ours go out via Email. If you're interested in doing the same, here's how we do it. Our strategy is to send an email that contains a "tokenized link" to the statement to everyone who has contributed more than $1 to one of our applicable funds, rather than send the statement itself as a PDF or whatever (which would be much more complicated and a lot less secure). Rock provides an online, printable version of the statement already, so why not just point people there? The "tokenized" part of the link is where the magic happens... anyone receiving the email can simply click the link (in our case, a link that looks like a button) and they are magically logged-in to our website even if they don't have a login. This dramatically reduces the number of calls/emails we get during tax season because someone contributed (perhaps via check every week), but doesn't have an account on our website, so they can't get to their statement without creating an account, us merging that account with their real profile, blah blah blah. All of that goes away when you send a tokenized link. The Template First, we need an email template from which to send these emails. I'm not going to give you a complete email template, as you likely already have a standard one and you wouldn't want our branding, anyway. But here's the important part of the email you can just paste into an existing copy of your standard template, and name it Contribution Statement Email or whatever makes sense to you. <p>You are receiving this email because we have record of your contributions to CHURCH NAME in 2018. Thank you for contributing to the ministries of CHURCH NAME!</p><p>The button below will take you directly to your Giving Statement, which you can use for tax purposes.</p><table> <tr> <td style="background-color: #425963;border-color: #dbd4c7;border: 2px solid #dbd4c7;;padding: 10px;text-align: center;"> <a style="display: block;color: #ffffff;font-size: 12px;text-decoration: none;text-transform: uppercase;" href="{% raw %}{{ 'Global' | Attribute: 'PublicApplicationRoot' }}ContributionStatement?StatementYear=2018&rckipid={{ Person | PersonTokenCreate:1440,null,444 }}{% endraw %}"> Get My Statement</a> </td> </tr></table><p>If you find a problem with your statement, please contact us at <a href="mailto:EMAIL@ADDRRESS.COM">EMAIL@ADDRESS.COM</a> or call PHONE NUMBER.</p> There's a lot going on in that little bit of code, but it's not as complicated as it seems. Most of it is a table in which our button (link) lives. You will likely want to change the colors of the button text, background, and border to whatever looks good with your branding... and of course change the text of the email to whatever makes sense for your organization. I just entered some boilerplate here vs. our actual verbiage. The part we really want to look at is the tokenized link itself, which is href="{% raw %}{{ 'Global' | Attribute: 'PublicApplicationRoot' }}ContributionStatement?StatementYear=2018&rckipid={{ Person | PersonTokenCreate:1440,null,444 }}{% endraw %}">Get My Statement</a> What we're doing is constructing a link to your PublicApplicationRoot Global Attribute with a page route of ContributionStatement and tacking on StatementYear=2018 as a querystring parameter. You need to make sure that whatever page your contribution statement lives on* (page 444 on the default External Site) has a Page Route of ContributionStatement **. You could of course just hard code /page/444 (or whatever page your statement lives on) in the URL, but that makes for an uglier URL. Oh, and the reason the link is wrapped in {{ raw }} {{ endraw }} Lava is to make it work in a Email Wizard template. If you're using a Simple Editor template, remove those raw tags. Note: If you already have Lava in your default Wizard template that ends up wrapping your new Link code with RAW tags, you'll likely have to remove the RAW tags around the link even when using the Wizard. The "magic" part of the URL is the token itself: rckipid={{ Person | PersonTokenCreate:1440,null,444 }} The PersonTokenCreate Lava filter takes three parameters. The first one is how long the token is good for, in this case 1440 minutes, or 24hours. Obviously that's not long enough for real-world use and we set it to that just for safety while testing. When we actually send the email we set it to something like 136800 which is 95 days. We send our statements Feb 1, so that's a good time limit for us. Set yours to whatever makes sense. The second parameter is how many times the token can be used, and here we're passing null which means (unless you've changed your Global Token defaults) "unlimited uses." The third parameter is the specific page this token works on. In our case, 444 is the page the statement lives on, so we're passing 444. This is kind of a safety feature that lets the token work ONLY on that single page. If someone other than the intended recipient were to get ahold of that email, they could click the link and see the recipient's contribution statement, but couldn't do anything else "as them" on the site. The Recipients Ok, hopefully now you have a new template that says what you want, with a nice clickable button that magically logs the recipient in to see their statement. The only thing we have left is identifying who to send these emails to. You may have a completely different process for identifying who to send a contribution statement email to, but ours is pretty simple: Here we're simply using a DataView that returns People who 1) Gave within the date range we define, 2) Gave $1 or more to one of our selected funds, 3) Have an email address, and 4. The email address isn't set to Do Not Email. That's it! Now when we need to send the contribution statement, we just run that DataView and click Communication icon on the grid. Wrapup Hopefully this recipe is a good starting point for you. Obviously, each year you use this you should change the statement year from 2018 to whatever year you are wanting to send out, as well as the date range in the dataview. There are lots of enhancements that could be made like making the year dynamic instead of hard coding it into the URL and email body, but for something we send once a year, we didn't want to put that much effort into it. If you do, go for it. Oh, and please test this with yourself and maybe a few other safe people before you try to use it. It's really easy to mess up the link or token with a mistyped character or two, and sending out 10,000 emails with links that don't work (or worse, a link that is NOT for them) would be Really Bad (tm). P.S. If you're wondering how you could possibly send out a link that is for someone else besides the recipient... it would be to accidentlly use {{ CurrentPerson | PersonTokenCreate }} instead of {{ Person | PersonTokenCreate }}. When you use CurrentPerson you're actually saying "Hey Rock, create a token for ME (the current person, aka the admin sending this email) and stuff it into this link... yes, that has actually happened and thousands of people received a link that logged them in as a Rock Admin for that org. YOU HAVE BEEN WARNED! Gotchas * The "contribution statement page" is NOT the Giving History page. It's the page you get to when you go to Giving History, THEN click one of the year buttons. THAT is the page you add the ContributionStatement route to. Also, DO NOT make the mistake of linking to the INTERNAL statement page, which is the page you get to from the Contributions tab on a Person Profile. If you link to that, users won't have rights to see it and will get an error. ** I've seen some people struggling with my direction to add a Page Route of ContributionStatement to their statement page. You do this by navigating to the statement page (see above) | Page Properties | Advanced Settings and enter ContributionStatement in the Page Routes box. That's it... don't enter any http:// or https://, etc.
Michelle Dyke Reply 2 months ago Jim, Does the tokenized link work for profiles that have an inactive record status in Rock? We just migrated to Rock, and our previous ChMS required us to keep profiles active if we wanted people to view their giving statements. How do you handle givers who are no longer attending your church?
Jim Michael one month ago The token works fine on Inactive people. Inactive people can still log into Rock (even with username/password)... there are even Data Automation settings/jobs that can re-activate Inactive people when they become active again (have attendance, give, show up in a dataview, etc.) We don't do anything special with Inactive people regarding their statements. If we come across inactives when sending the primary contrib email, we can note them, activate their email, and re-send it.
Angela Dodds Reply 3 months ago Jim, I have 2 questions, 1. Before you started sending the link in the email to donors, did you ask their permission or notify them in any way? Can you help me explain to my team how this is secure and how it is preventing the wrong person from getting someone else's contribution statement, since they don't need to log in?
Jim Michael 3 months ago (edited 3 months ago) Hi Angie- It's been like 10yr since we've been emailing statements (we did it long before we moved to Rock), so things are getting a little fuzzy in my memory, but as I recall we messaged from the stage multiple weekends (even had a funny video where the finance person was buried in statements) and via email multiple times at the beginning of the year (that we stopped mailing) informing people what was coming and our rationale, asking them to go to /myaccount and verify their email was correct, etc. We didn't ask for permission to email them. I think this largely comes down to how much you trust your data. We are a "lots of email communication" type of org, so we know we have good emails for the vast majority of "involved" people. I literally see and check up on every bounced email (5-10/week on average) Rock sends. We're also very heavily weighted toward online giving these days... checks are the minority at this point, and when someone gives online we can easily see if their giving statements are being delivered. Ultimately, we found that having a lower barrier to getting a statement (a tokenized link) outweighed any potential for a statement going to the wrong address (which to my knowledge, no one has ever said has happened in 10yr here). All that said... there's nothing preventing you from just making people log in, though (but this is a MUCH higher bar for the individual, especially your check givers that might not have a login to begin with.) You could also implement some sort of opt-in so you only email to those that want it, etc... the beauty of Rock is that you can do it the way YOU want to.
Gordon Arber Reply one year ago Thanks Jim, I then added that dataview to a email list to make it super easy for my Financial Admin to email them out.
Kevin Rutledge Reply one year ago I would be partially tempted to link to a workflow entry that takes the person, records an attribute that they visited the current year statement and seamlessly redirects them to the page. Then in a few weeks, you could look for people that did not open the link to include in your mailed statements for those who don't have emails.
Jim Michael 11 months ago (edited 11 months ago) Good idea, but we can actually do this without a workflow and/or person attribute. We use two dataviews: 1. Returns Interaction and filters on Interaction Data Contains "ContributionStatement' and 2. One that returns Person and filters on In Interaction Dataview. That gives us a list of people that HAVE visited the /ContributionStatement URL and we can use that to determine who has not visited it. (note that this relies on you having pageviews stored as Interactions on the site, which is a setting on the public site under Admin | CMS Config | SItes , but of course you have to have that enabled BEFORE you want to track people who have visited it)
Susan Chorney Reply one year ago Thanks for this Jim. After you give people time to download statement, how do you generate the list of who haven't downloaded and need a paper copy mailed?