What made this effort different than other online stores is:
1) The proceeds benefit Schoolhouse Supplies - a non-profit "free" store for teachers
2) The list of supplies were customized, based on the exact needs of the teachers
3) The supplies were distributed (by volunteers) directly to the child's classroom
4) The online store was built by volunteers (many thanks to Nate M and David M!)
5) The online store featured some .NET, a little JAX (we didn't have time for the Asynchronous part, but it was close, and we'll get it for next year ;-), the fabulous salesforce.com as a backend, AuctionPay for credit card processing, and of course, WebTrends for some slick analytics.
Our original goal this year was to pilot the program at one elementary school and one middle school. It became obvious very early on that the middle school wasn't going to fit with our model. This program works well for elementary schools because most of the supplies are "shared" in the classroom. That is, the students bring the supplies, and they are all combined together, and the teacher uses them throughout the year as needed. In middle school the students hang on to their supplies (in lockers and VERY heavy backpacks!). So, we stuck with one elementary school.
The elementary school we chose has a population of less than 500 students. For this pilot year, I was hoping we'd get a total of 50 orders so we could figure out the flow of the online application, and whether the logistics of delivering the supplies worked. I was very anxious to hear the feedback from the parents on the idea.
Ok, so, how'd we do?
8 Weeks Online Accepting Orders
129 Total Supplies Sets Ordered
$3,482 in Orders
85 Total Families Ordered
8 Middle School Students Volunteered 4+ Hours Each to Distribute Supplies
In short, it was a great success. We surpassed all of our goals, and got some absolutely terrific feedback from parents and teachers. Sweet!



All in all, it was a great pilot. It was a terrific win for teachers, parents, and Schoolhouse Supplies (and therefore a win for many students in need). Many pieces had to come together to make this work well, and thanks to many folks (Nate, David, Nick, Courtney, Liz, Kara, Simone and her amigos) for giving this effort its positive spirit! Also, thanks to WebTrends and the Salesforce Foundation for offering free services for this non-profit startup.
Our current plan is to roll this out to more schools next year and figure out some scaling issues (mostly on the distribution side...the technology is already set to scale world-wide! :-) After next year, I anticipate it can grow very quickly.
Filed in: analytics, salesforce.com, nonprofit, web+analytics
Technorati Tags: analytics, salesforce.com, nonprofit, web+analytics
Absolutely AWESOME!
ReplyDeleteCongrats!
ReplyDeleteNice job to the whole team....looking forward to using this next year for my kids. You are going to make it to the Eastside of town, right? :-)
ReplyDeleteAwesome job. How did you guys handle connecting AuctionPay activity with the Salesforce.com back-end though? Seem like that link would be fairly challenging.
ReplyDeleteThanks for the note Andres. The AuctionPay validation was done server-side through their API's. So, we:
ReplyDelete1) gathered the customer information through the forms
2) created a server-side connection from our web servers to AuctionPay to validate the card
3) upon approval, then inserted the customer data into salesforce.com
Let me know if you'd like more info on this!
-Eric
Cool!.. Thanks for the reply. Did you guys find a way to insert objects directly to Salesforce after validation by Auctionpay though? So say for exampe I 'm a new customer and hit the website...run through the forms... Your connections to Auctionpay run the card.. but then does that information populate a contact object in Salesforce automatically? I guess in an awesome utopia, the "card charged" event is created as an activity under a contact record in Salesforce (or maybe in the account record).. through some direct connection to Auctionpay.
ReplyDeleteOr..rather.. does Auctionpay provide some output (like a csv file) that can then be imported?
High tech vs. low tech? : )
thanks!
The response back from AuctionPay includes a validation number, which we insert (along with the contact information) into salesforce.com as a new "closed" opportunity (and it also creates a new account, and populates the contact information, as well as the product purchased - and even sends a confirmation email to the customer!). Very cool.
ReplyDeleteFeel free to write to me (elbpdx at gmail) if you'd like more info. The code leverages .NET features and functionality, and could be adapted to other sites.
-Eric
awesome.. nice job! I might hit you over email actually... cheers!
ReplyDelete