So, you want a new website. Excellent. But wait... there's more! I like to think of a website as not only a website, but an extension of your business systems - a customer management platform.
Your "Website" includes
Your Business Systems could be:
The Accounting System includes
Plus there may be other things that need to be factored in:
The bits we need to work out first are:
Here are the rules that I try to stick by for website projects:
How do you know you have done it well?
When to not use a CMS at all?
These are the features that may be on your website. A few of these features may be specific to NFP's only (eg Donations).
These are quick tips only, and not a substitute for a full requirements analysis, and for many reasons these suggestions may not be suitable for your requirements.
eg, news, blog posts, static content.
Your basic web content belongs in your CMS. That is what a CMS does, and does well.
Articles / Publications / Downloads
For more in-depth articles, especially ones that have to have approval processes, eg:
Think about tracking the content creation in a custom object in Salesforce (eg Article Title, Publication Date, Status, Writer, Editor, Approvals etc). The final content can be then added to your CMS as content or an attached PDF file.
You can even create your content in Salesforce, but it is not user friendly at all, and let's face it - we will never ever stop people from using Word. But try Confluence or Google Docs for a true collaborative editing experience. Of course, if you already use a document management system like SharePoint then keep the document in there. Just don't keep the document on the S: Drive and don't email it around.
Inside your CMS you may want to have a custom object (table, custom post type etc) that stores all documents with metadata, such as category, synopsis, publication date, image etc. Here's a thought - add those metadata fields to the custom Articles object in Salsforce, and when the article is approved for publishing in Salesforce, automatically add it to your CMS database via the Salesforce and CMS API. This is a one way update only - any modifications are done in Salesforce and pushed through to the CMS. The CMS custom object should be read-only.
Also think about having full content or a large excerpt of the document visible on your website. Salesforce used to do their release notes in PDF format for each release. They now do a single website http://docs.releasenotes.salesforce.com/ with easily searchable and findable content. This is also much better for accessibility and screen readers (You can still attach a PDF for download). Of course, that content will be stored in Salesforce.
Note: for documents that you want to track that a customer has downloaded them, see below for shopping cart for digital resources.
Twitter, Facebook, Sharing etc.
Just about all CMS's have excellent plugins that will help with the following:
Contact Us Form
For a very basic form use your standard CMS forms and use Salesforce Web To Lead.
Otherwise see Lead Management below.
People subscribe to your newsletter, and you want to capture those details in Salesforce plus add them to your Email Marketing list.
For anything more than Name, Address and "What is your Query?" create a custom form in Form Assembly.
Leads are generally from people that you have not had any contact with previously.
Remember all fields in the form need to be created in Leads, and then either Accounts, Contacts and possibly Opportunities (depending on the info). Use AppShark Lead Conversion or similar to customise the Lead Conversion process.
A lead in Salesforce can be used for any of the following:
For enquiries where you know that they should be in your Salesforce already these should not be created as Leads. Create a custom object related to Contacts (or better still use Cases), and use a Form Assembly form or Communities.
Ensure that "Leads" that come through are not Cases. Have a very clear section on your website for Support, Help etc, to ensure that Cases come through to Cases, not Leads.
If you have a support@ email address or take customer enquiries over the phone you need cases.
Case forms are often quite involved. Suggestions in order of complexity (lowest to highest) and functionality (lowest to highest):
People give you money, via donations, and you need to issue them a tax receipt, record their details, and the transaction in Salesforce, then in your accounting system so it reconciles with your bank statement.
There are a few ways you could do this:
Then set use One Saas to automatically create the payments in your Accounting System (see Salesforce to Xero).
There will always be a need to handle manual payments. This might be that people have just directly put money into your bank, or they have sent a cheque in (hopefully you are making credit card donations so easy that cheques will become less and less). You need to be able to record the donation in Salesforce and in your Accounting system - do you want to do it twice? or just once. Add the payment to Salesforce and have that create the invoice in your Accounting System directly via One Saas (see Salesforce to Xero).
Send a personalised email out to your donors to ask them to contribute to an appeal. The emails can contain a unique tokenised URL for that person that pre-fills all their contact details in. (tokenised means that it is a lot more secure and it makes it difficult to "hack" and expose other donors' details). The donor can then update their address details and cleanse your data for you. Once they submit their donation, their details are directly updated into Salesforce.
Similar to the process for one off payments but you need to charge the credit card each month. Let's hope your payment gateway will allow you to set up monthly charging of credit cards, and then you will need to work out a way to get that regular charge into your Salesforce. And what about direct debits. Will your payment gateway allow you to do direct debits?
Please don't be like one client where we found that the developer had created a custom object to record successful regular giving payments which meant the regular giving payments were not in Opportunities, no reports were including the regular giving amounts and the roll-up summaries of how much a person donated was not being shown on their contact page.
Or just use Payments2Us which handles regular giving directly from Salesforce via the Payment Gateway.
You will also want to issue receipts for every payment and / or Annual statements for tax purposes. In fact, you should be able to issue annual statements to anyone based on the data in Salesforce. You could easily create this to go out in mid July for all donors (allow time for all last minute donations to come through. I generally donate on 30 June at 11pm).
Workplace Giving is a payment made by the Workplace on behalf of the individual. This money comes out of pre-tax salary so it is great for the individual donating. The workplace will probably send you a spreadsheet each month with the transactions and then make a payment via your website or deposit it to your bank account. To process these:
Celebration / Funeral / In Memoriam Giving
This happens in a few ways:
Note: In Memoriam fundraising can also be done by Peer to Peer fundraising sites - see below.
There are usually three parties to In Memoriam Donations
Usually you will want to send a report to the Organising person saying how many donations were raised for this person's memorial or celebration. This does not usually give the names of the donors. Depending on your policies you can do this via an automated email. Care needs to be taken that every name is entered in the same way, or manually checked before the email is sent out. When the donation comes in it will need to be manually recorded against the organiser so all the donations are calculated against them. The organiser should not receive any soft credits for the donations.
Donations in Kind
Donations of goods or services. How to handle:
Peer to Peer
People do the Marathon, get friends to sponsor them to do it, and that money is donated to you, often in the name of a person or team. These are usually done by commercial apps like Everyday Hero, GoFundraise or similar. Plus there are many crowdfunding sites popping up. These apps take a cut of your fundraising. If you are not interested in giving them a cut try Cause I Can that is built on top of Salesforce. It may be possible in future to integrate this into AAKonsult Payments.
The problem with Cause I Can is it is not as feature rich for the person organising the donations as the commercial sites are. And let's face it, you are not really in a position to stipulate which app people use if they want to give you money, so you really have to support all of them.
The other issue with these commercial apps are the manual nature of them - they send you a spreadsheet or you can download a spreadsheet once per month. There is no integration with Salesforce or even a tool like Zapier, so you are forced to create an import. A tool like Skyvva will help import the file to multiple records, but you still have to handle matching existing contacts or creating new ones. Better still, import the spreadsheet into the AAKonsult Payment Transactions object and let the wonderful AAKonsult matching process do the rest - and then it will create the Opportunities for you too!.
Subscriptions / Membership
For a member based organisation, managing subscriptions and memberships is vital. It needs to be easy, automatic, reliable, and meet your business rules. You will want your membership data to be available in Salesforce. Whether this being just for a 360deg view of the customer or for knowing that their membership is valid for providing the services that you provide. Unless you have member only content on your website, there is NO reason to store member data on your CMS. (See below for Member Only Content).
So, apart from choosing the right subscription level, the process is exactly the same as taking donations. You can build it yourself and suffer all of the costs and issues that come with this approach, or use Payments2Us to give you fully customisable Subscription platform. Some of the great features of the AAKonsult platform are:
Member Only Content
Member Only Content is quite common for member based organisations. As discussed above, you don't want to store your membership details on your website, because it belongs in Salesforce. But you need to have the members be able to log in, and see the content that is applicable to their member level, so you will need to store basic member authentication details on your website. If it is just for login purposes and no profile management, then just store a member ID that is the same in the CMS and Salesforce.
Want a cheap way to do member profile updates without resorting to communities, or syncing data between the website and Salesforce? Have a link in the member content area where the member asks to update their profile details. Submit that request to Salesforce which sends an email to the member with a pre-populated Form Assembly form. They submit the form and the details are updated into Salesforce. You would not do this for password changes though.
For a mid ranged cost option, when they want to change their profile, query the data from Salesforce, pre-populate a form behind a SSL encrypted page on your website, and submit the data back to Salesforce. Again passwords are problematic and you will need a very secure way of handling passwords, so this may become expensive to code.
For the best option see Communities below.
You have a directory of services, or people that you want to display on your website.
As this is data, it belongs in Salesforce. These people or organisations are probably in your Salesforce already so there is no way you want to replicate this on Salesforce.
This is where Salesforce Sites is great. This is just a visualforce page, that queries data from your Salesforce and is made available publicly. You can either style it to match your website, or put it in an iFrame on your website, or even push the data to your CMS and display it directly on your Website. All edits would be done in Salesforce and pushed to your website.
People sign up for events that you are promoting, you want to record their details in Salesforce, track that they have signed up and paid for the event, and then ensure the transaction appears in your accounting system so it reconciles with you bank statement.
Shop / E-Commerce
People buy products from your website shop. You want to record their details in Salesforce, track which products they have purchased, and then ensure the transaction appears in your accounting system so it reconciles with you bank statement.
There are a few options here:
Here is a great looking australian shopify site that has many of these features. Beware that just like Salesforce, Shopify can get expensive with all of the options added in. Here is an interesting article about that.
Shopify can on its own domain or be a subdomain on your site - eg http://shop.example.com. It can be styled to match your site, so that it is almost seamless to your end user.
Publications and Resources
Like products in your shop, but given out for free, and usually digital products.
You need to track:
You can do this via your Shopify Site, and ask them to check out wiht a $0.00 amount - they will not be taken to a payment form. The "sale" will still be created in Salesforce and matched against the client name.
NOTE: Still manage the creation of the digital resources in Salesforce as per Articles / Publications / Downloads above, but when they are ready to go on the website, use a custom trigger to add the product to Shopify via their API.
FAQ / Q&A
Any part of your Salesforce that is not sensitive customer data can be exposed to your website. You can create your own custom object for FAQ's and answers, or use Solutions and expose them on a Sites Page, or sync them to your website CMS.
Create a custom form on your website and use Web To Lead or use a Form Assembly form to create a Lead directly. Volunteers should be created as "Leads" and go through a qualification process before they are added as Volunteers in Contacts.
Let's face it, unless you use Chatter in Communities, there is no way of doing Forums with Salesforce. And if the business has asked for a forum, and you proposed chatter, you would have to do a lot of convincing to help your client understand that Chatter can be a Forum. Chatter is really cool, but is just not what most people would call a Forum.
You can get Forums that work with your CMS or stand alone Forums. Discourse is a new style of Forum software that looks interesting, and it's open source. Currently you have to host it yourself but it will be cloud hosted soon. They have a nice option for NFP's including setup and hosting.
Do you have only a Forum? Do you need all people in your Forum to be in Salesforce? Or do you have a Forum plus Member Content or other Login areas on your website?
So, similar to member only content, have the member details synced from Salesforce to the CMS or Forum software and handle the profile updates / password changes with some custom code.
Even if you use communities for everything else that requires a login and just member only content on your CMS and Forum, you are still going to have to build an identity management system to handle authentication across multiple systems. There are some very cool new features with Salesforce Identity now that should make this easier for your developers, but it is still a custom developed solution.
Campaigns / Causes / Microsites / Multi Sites
You want a special looking site for a particular event or cause, or you have a sub brand that needs a website with a different look and feel. Most good CMS's these days provide a multi-site option (WordPress, Drupal and Expression Engine do).
For a simple Campaign or Cause page you may just be able to use a page on your main website with different images on the page - not a different theme. There are plugins for WordPress that can help with different looks for different pages (see http://wordpress.org/plugins/jonradio-multiple-themes/ for an example).
Remember that for any Cause or Campaign you can set up a completely different donation form with Payments2Us. This will help you track where the donations came from.
There are survey apps that can be added to Salesforce. It depends on the complexity of the survey. For the most complex of surveys you could use Qualtrics, which integrates with Salesforce. For medium level complexity use Survey Gizmo or Clicktools. There are apps that run inside Salesforce like Timba Surveys, and then the form tools like Form Assembly can do a good job of surveys also.
Website Tracking / Marketing Automation
This takes simple Email marketing further. Set up drip marketing campaigns and / or tracking cookies on your website to know exactly how your potential customers are using your website, and send them targeted communications based on previous history with them, and how they are using your website. (This level of marketing automation is fantastic, but it is pricey. Apps like Exact Target, Marketo, Pardot, and our very own, aussie built native app Dashcord do this).
Analytics, Adwords and SEO. I won't discuss these here because they are handled as part of your Website. If you want anything integrated with Salesforce, you will want a proper Marketing Automation system - see above.
Most default search in websites is bad and only does full text search and does no weighting of searches. Of course there are custom search plugins. Inside Communities, Search is just like Salesforce search - and the users can only see exactly what you allow them to see, but the search is broken down to the individual objects just like in Salesforce.
Important. Review it if you have not done so in the last 6 months. See http://www.oaic.gov.au/privacy/privacy-act/australian-privacy-principles. Don't take this stuff lightly. It is super important.
Throughout this page I have been mentioning communities. My rule for using communities is if you have more than a few features that you want your clients to log in for. Communities is the true self service portal. Yes communities is expensive, but so is custom development and the ongoing management of syncing data between systems. Licensing of communities comes in two flavours - Named Users and Active Logins per Month. You would use Named Logins for a small Community of Practice type group, and Active Logins for customer sites. If you have variable amount of logins over the year (eg your push for donations prior to tax time means that many people sign up or modify their profile), then logins can be averaged over the year.
You may have a staged approach. Customers can donate, register for an event and subscribe to your newsletter without being a community user, but then upgrade to a community user when they sign up to Volunteer or sign up for Membership.
Note: there is not one mention of your website design on this page. That is almost limitless. Just ensure that the look and feel and branding are consistent (enough) across all sites. This will be much easier if you keep your main site design simple. Maybe go to town with fancy stuff on more static microsites.