11 ms·
Meet the Obama campaign's $250 million fundraising platform
- msinia 14y agoGreat writeup, thanks for sharing. I've some questions to further understand the optimization process. - In general, how did you measure improvements in conversion? What metric were you using? Something like LTV or the % of conversions each variation got? - How exactly did you verify that the new version had a 14% larger conversion rate? Did you run an A/B test with both?
- sshconnection 14y agoSeems a little dubious to claim that the increase in donations was a direct result of increased speed. The nature of the election cycle seems like more donations would take place as campaigning ramped up and the election date drew nearer. Were those kind of external factors accounted for in your analysis? Still, very interesting writeup and congrats!
- kylerush 14y agoThe increase in performance that I mentioned is directly due to the performance increase. We built identical pages on both platforms and tested them against each other at the same moment in time. The only difference between the two pages was the page load time. Because we removed all other variables (time, appearance, functionality, etc.) we can say that the 60% performance increase lifted conversions by 14%.
- ckluis 14y agoSimplifying the donation form seems like such a big, duh, but glad to see it was tested. Great results (speaking from the management/tech side)
- benbunk 14y agoHow many pages is Jekyll serving?
- kylerush 14y agoWe had roughly 500 donation pages generated by Jekyll.
- ccarpenterg 14y agoThis is a very good example of UI optimization: http://cdn.kylerush.org/kr/images/contribute-before-after-screenshot.jpg http://cdn.kylerush.org/kr/images/contribute-before-after-sc...
- justjimmy 14y agoWould love to know more about the reasoning and discussion behind going from a 1 page process to 4 steps. (ie: The typical purchasing mindset vs. donation mind set)
- kylerush 14y agoThanks for the interest! I am planning to write another blog post on all the UI optimization soon.
- justjimmy 14y agoCheers! After looking at it more (I don't have experience donating to political parties), I realized (I may be wrong) that alot of information are actually mandatory and affect your taxes(?) down the road. Was confused why all necessary info required, like addresses and employment information. (When I was think of 1 page, I was think just donation amount + CC # and CVV) But I look forward to reading any numbers of before and after you share!
- kylerush 14y agoAddress is pretty standard for anyone accepting payments. As for employer and occupation, we are legally required by the Federal Election Commission to do our best effort to gather the donor's employer and occupation. Doesn't have anything to do with taxes.
- justjimmy 14y agoAhh I see. I know some processor now forgo the requirement of addresses, eliminating alot of fields and barriers even more. It may take quite a while to get used (and feels scary too).
- dccoolgai 14y agoFirst of all, congratulations and thank you for doing the work you did to re-elect the president. Your write-up there is really interesting. I have a couple questions: 1. According to FEC reports, Blue State Digital made millions of dollars working with OFA... With that in mind, why is it that the campaign tech team had to build the redundant donation API? You would think for millions of dollars BSD probably should handle that, no? I only ask because in all the post-election stories a big theme is the "we decided to do it in house"...which makes sense...but begs the question - If you were "doing it all in house" then why was this third party vendor making so much bank? 2. Since we have you here on HN, can you tell us (very generally) what you and the other OFA Chicago Digital/Tech/Analytics people are going to be doing now? Going back into politics? Forming political/non-political startups?
- ceejayoz 14y agoRe: #1, there was a lot more involved to the OFA web presence than just the contribute.barackobama.com pages.
- jdotp 14y agoBlue State had multiple roles on the campaign, not just processing payments. Many of us are joining startups, some are starting startups, and others are yet to decide.
- alvaromuir 14y agoCongrats on amazing work.
- luigi 14y agoCan you describe how you set Akamai to host the site? I'm familiar with using S3 to host a static site, and using a CDN to host assets, but it's not clear to me how a CDN can be set to host a full static site. Did contribute.barackobama.com just mirror something like contribute-s3.barackobama.com? And why Akamai and not Amazon Cloudfront?
- kylerush 14y agoOur Devops team configured Akamai so they would have specifics for you (@scottvdp). With most CDNs you have what's called a pull zone that points to your origin server on a different domain. So when the user requests something like cdndomain.com/whateverpage the CDN looks for the file at pullzonedomain.com/whateverpage and then it serves what it gets back from the pull zone. Akamai has more advanced configuration options than Amazon Cloudfront. One example of this is that our payment processors did not actually live on contribute.barackobama.com, only the static files did. So we used Akamai to setup a reverse proxy to POST the donations to a different domain. Without this reverse proxy it wouldn't have been possible because the same origin policy forbids cross domain, client-side POST requests.
- jdotp 14y agoAkamai GTM is the feature you are asking about.
- harper 14y agoIn regards to Akamai and not Cloudfront - Akamai had a different offering than cloudfront. JdotP mentioned in this thread that we used Akamai GTM, it allowed us to do a lot of fun failover management which cloudfront didn't offer. It also allowed for SSL.
- delano 14y agoIt's pretty cool that Jekyll played a role in the campaign.
- brown9-2 14y agoThis is fascinating, thank you for the writeup. I have a question about the donation API though, I feel like I am missing something: We settled on a very simple solution of turning the hosted platform into a REST API. The only big change was adding JSON as an output option instead of HTML... We consumed the newly created donation API using JavaScript on static HTML pages which were served by our CDN (Akamai). What operations did this API handle? Were donation submissions being sent from the user's browser to this API? By the way, I think there might be a bug with your PJAX code on kylerush.net - when you click links to other parts of the site or to read other articles, the page title displayed in the browser stays as the initial title from the initial HTTP request.
- kylerush 14y agoThe API was quite simple. Essentially it just processed a donation. It had some other functions to it that involved saving a users payment information to their account as well. Yes, the donation submission was an POST request executed with JavaScript (AJAX) from the user's browser. Thanks for noticing the bug! I'll have to check that out.
- patio11 14y agoFriendly advice: your rate just got another zero or two added to it. (This goes to anyone who can write a similar case study, too.)
- Radim 14y agoUhm, what did I miss, what is his rate now?
- seiji 14y agoYou didn't miss anything. Some people just enjoy injecting their pet causes into threads kinda irrelevantly.
- troygoode 14y agoConsidering his pet cause in this case is helping developers stop systemically undervaluing their work, I say that is something we need more of.
- lifeisstillgood 14y agoThere are two kinds of people with pet causes I appreciate The altruists, who dedicate years of research and learning to finding and giving freely medical or other breakthroughs to make a better world. I am glad they exist, please give them my tax dollars, but I stopped trying to fix the world around 35 years old. The other kind is patio11 kind - sorta altruistic - but getting paid altruistic. Since my Damascean conversion at the age of 35, I appreciate this kind too - you cannot have my tax dollars but you can persuade me to buy The world needs both kinds. Well, it needs the first kind, it will never be short of the self-interest altruism. And since his pet cause is about making me money, I like his self interest.
- codewright 14y ago> Damascean I don't think this is a word. What are you trying to say?
- tomkin 14y agoI see a lot of concern for integration with API, hosting, etc. but what I don't see is disgust. Disgust because to become president of the US, you must participate in this monumental financial circus of who spends what. Is this what people want? To know the best candidate will need to raise over a billion dollars to compete? Campaign costs should be in line with needs. Remember when Color got $40 mil for doing basically what other startups manage to do with a couple thousand dollars? Why would HN readers champion this kind of spending? The reasons are probably in line with the SuperPAC reasoning, which is "in order to change the game, you must play within the game's rules". Sure. But when do you say enough is enough? In Canada, our candidates spend on their campaign, but dollar-for-dollar, they are getting more done with less money. Somehow.
- alevans4 14y agoIt seems to me that disappointment in the current state of campaign finance reform and interest in how a campaign dealt with the current reality are not mutually exclusive.
- brown9-2 14y agoNot to defend the current campaign status quo, but when comparing the US to Canada it is worth pointing out the population of the US is ten times that of Canada.
- tomkin 14y agoTrue, but my problem is that democracy is supposed to be about everyone, and when you start eliminating people based on their propensity to generate millions of dollars you eliminate a lot of potentially great leaders.
- snowwrestler 14y agoIf a national candidate cannot be organized and inspirational enough to generate donations, how can they hope to succeed as president? I would argue that fundraising is much easier than, say, passing a major piece of legislation.
- tterrace 14y agoKyle, great post. You said the final donation was made via an XHR POST, did you guys have a plan B for users without JavaScript or were the numbers small enough to ignore?
- kylerush 14y agoYes. It was very simple. We just put the URL to the vendor hosted platform's POST endpoint in the donation form's action attribute so that if you didn't have JavaScript the form would POST like a normal form.
- clarky07 14y agoAt the risk of sounding like a troll, honest question here. Why wasn't the CVV part of this page? Seems like a lot of headaches and bad press could have been avoiding by just actually including it (and you know, less fraudulent donations). Great work by the way with the optimizations. As patio11 noted, add a 0 or two to your rate and point people to this blog post.
- ceejayoz 14y ago> Why wasn't the CVV part of this page? Checking CVV isn't required, but may result in a higher transaction fee for the merchant. The campaign likely made a choice of "fewer fields = better conversion".
- clarky07 14y agoIt's 100% certain that it would be less conversion. It's also nearly certain that they were accepting illegal foreign donations. In this case, conversion probably shouldn't be the deciding factor... (Note I'm sure the OP had 0 say in this, just wondering if there is an explanation other than better conversions) EDIT: To the downvotes, see my comment below http://news.ycombinator.com/item?id=4843963 http://news.ycombinator.com/item?id=4843963 This isn't just about Obama, it's about all of the campaigns. Obama was just the most visible and highest raising, with a higher likelihood of attracting foreign money. It's also not just the CVV, but many many things that aren't being done (that aren't required yet but should be).
- ceejayoz 14y ago> It's also nearly certain that they were accepting illegal foreign donations. A CVV wouldn't make a difference for that, and given that US citizens live all over the world, there's realistically no way to prevent illegal foreign donations. What would you use? Name? American have all sorts of names. Credit card billing address? Americans live abroad. IP? Americans live abroad. SSN? Fakeable (ask a restaurant dishwasher in NYC), and I dunno if you can ask for it.
- 14y ago
- gideon_b 14y agoI love this: the $1.1B Obama campaign uses nearly the same stack as my single page personal website.
- joering2 14y agoThanks for the write-up. Too bad that there were no checks in place to determine who is actually contributing. For that reason, many non-citizens were able to contribute, some from questionable places, and even Osama ibn Laden had posthumously donated, receiving congratulation later from Barrack's wife thanking him for his donation [1]. Since Romney was rejecting contributions that could not be confirmed as of where they came from, this race in terms of fund-rising was skewed from a get-go. Imagine a marathon where everyone runs on their feet and you -- against the rules -- are using a bicycle. Guess who's gonna win? [1] http://www.wnd.com/2012/10/obama-accepts-osama-bin-laden-donations/ http://www.wnd.com/2012/10/obama-accepts-osama-bin-laden-don... For those who hate googling: http://www.washingtonpost.com/wp-dyn/content/article/2008/10/28/AR2008102803413.html http://www.washingtonpost.com/wp-dyn/content/article/2008/10... http://townhall.com/tipsheet/katiepavlich/2012/10/08/exposing_barack_obamas_illegal_foreign_campaign_money_loophole http://townhall.com/tipsheet/katiepavlich/2012/10/08/exposin... http://www.thecuttingedgenews.com/index.php?article=76534&pageid=17&pagename=News http://www.thecuttingedgenews.com/index.php?article=76534...
- ceejayoz 14y agoNothing in those articles reliably supports (i.e. beyond a couple individual anecdotes) the contention that a) the Obama campaign had "no checks" or b) that Romney was rejecting unconfirmable contributions.
- joering2 14y agohello there, google hater! how about this one? http://joshuapundit.blogspot.com/2012/10/obama-campaign-busted-for-accepting.html http://joshuapundit.blogspot.com/2012/10/obama-campaign-bust...
- Osmium 14y agoFrom the link: "Walker said he used his actual street address in England but entered Arkansas as his state with the Schenectady, NY, ZIP code of 12345." In fairness, that's fraud on Walker's part not on the Obama campaign's part. There's a limit to what kind of checks you can feasibly do. By the sounds of it, requiring a billing address in the United States seems reasonable.
- rynop 14y agoHow much did the infrastructure cost - roughly? I know your not gonna give it to me, but breakdown of CDN vs AWS costs would be sweet to know.
- trotsky 14y agoWhen running numbers like the A/B conversion improvements, how do you model or isolate external factors like "conversion rates increase as election draws closer". Is it correct to assume that no one is willing to continue to run original, unoptimized pages for some percent of visitors as a baseline?
- patio11 14y agoWithin any one particular A/B test, the changes in the true propensity to convert over time don't matter, since you're randomly apportioning folks into the alternatives, such that the only difference in the samples is whether they're exposed to A or B. Over the course of an A/B testing regimen, this doesn't apply, and you should be skeptical of results reported like "CR went from 10% to 15%", but a string of winning A/B tests is virtually statistically certain to be driving true wins and clients love hearing the change-over-time thing, so even if you're getting a tailwind from the environment one tends to report the numbers anyhow. It is a poor allocation of resources for most clients to continue to run original, unoptimized pages just to be able to satisfy one's curiosity as to what portion of an improvement observed over, say, 6 ~ 24 months is due to one's own effort and what portion is extrinsic to the business. There's both a direct financial cost to maintaining old code branches and a regret cost of not giving them the best you're capable of serving. Round numbers: to add one sentence of clarification to this blog post, Team Obama would have had to give up ~$5 million in donations.
- trotsky 14y agoI suppose it is a fair thing to say that when listing the sins of marketing, reporting accurate increases in metrics that one cannot be sure they are responsible for would appear rather low on the page.
- deleted 14y ago[deleted]
- sakri 14y agoKyle is right up there with whoever filmed the 47% video. Thanks!
- tonetheman 14y agoCool stuff
- akamaka 14y agoThanks for posting this fantastic write-up! I'm looking forward to reading more. Does anyone know if other team members from the campaign have publicly discussed how other aspects of the online campaign worked? (Such as analytics, ads, CRM, social media, etc)
- luigi 14y agoThis Quora board has been compiling all the articles and interviews with members of the Obama tech team: http://www.quora.com/obamatech http://www.quora.com/obamatech
- iblaine 14y agoWho do you have to know to go from CSU Fullerton to a job like that? Wow.
- zaidf 14y agoThe wrong lesson from this would be to immediately try and get your sites' performance to similar numbers. But what isn't explicitly stated in this post is that at the root of it, these guys first figured out which metrics matter for their goals. Only then did the optimization pay back. In their case, a few seconds can make decent impact because of volume. Someone with 100 uniques/day may have a better metric than load time to optimize.
- kevinconroy 14y agoCompletely agree. There are always a thousand things that you can prematurely optimize (page load time, HTML, conversions, etc). The trick is figuring out what the highest ROI thing is for you to optimize right now given your specific point in time. If you get 100 visits/day set metrics around sign up, retention, or whatever is going to build you up to 1K/day. Then figure out how to get to 10K/day, and so on.
- scottmcleod 14y agoThanks for the writeup
- danso 14y agoWow, all of that with Jekyll as the CMS generator. I've been using Jekyll to generate static sites and have been proud that mass traffic rushes don't bring them down...but I haven't used it for anything that generates real revenue
- nckbz 14y agoVery nice write up! :) It's really nice to see A/B testing promoted, as well as, a case for static sites integrated with web services. Those are the types of technologies I'm really looking forward to seeing grow in our industry.
- mldriggs 14y agoSo what're you doing now that the campaign is over?!? :)
- faisalchohan 14y agoI do not agree to it. Has any one seen the Obama campaign spending on software and infrastructure. They spend half a million dollar on Microsoft software (the highest spending), and then all the highlights of the campaign are coming from Open source software. What was the benefit of spending on Microsoft software. Why it is always that money is spent on Microsoft and benefits are highlighted of using open source software.
- stupandaus 14y agoReading this write-up after having read Nate Silver's post[1] today on how the Republican party has a harder time getting Silicon Valley talent leads to an interesting thought. Going forward the party that can successfully target the younger, smarter base will have a SUBSTANTIAL advantage in developing better systems. Assuming there is not some ceiling on how much better technology can impact efficiency, these systems will translate to exponentially more effective platforms for the party with the brightest youth. [1]: http://fivethirtyeight.blogs.nytimes.com/2012/11/28/in-silicon-valley-technology-talent-gap-threatens-g-o-p-campaigns/ http://fivethirtyeight.blogs.nytimes.com/2012/11/28/in-silic...
- buddhaofdoubt 14y agoYou could also argue that Republicans will slowly peel off disaffected or disenfranchised talent as technology in politics becomes less of a cottage industry for seasonal fruit pickers and they have the lawyers to push against the true ceiling you're talking about... the legal hurdles and the stagnation of innovation that comes with winning and scaling.
- naterosenberg 14y agoKyle, amazing post! You mentioned that the 60% speed increase led to a 14% donation increase. You used webpagetest.org to measure the 60% speed increase. How did you measure the donation increase? Is there some sort of A/B tool for CDNs to help quantify the impact of speed improvements on CR?
- kylerush 14y agoWe used Optimizely (https://www.optimizely.com/ https://www.optimizely.com/) to conduct most of our a/b testing. Optimizely works on the client level (browser), not the server level (CDN). Optimizely is the best a/b testing software I've ever used. It's flexible and easy to use. I suggest you check it out.
- tlear 14y agoI am curious where this will lead the next election, I think it is quite possible that 2billion mark will be broken as everyone is looking at this an will be getting ready for the next round in 4 years. It is quite depressing actually
- lindstorm 14y agoBefore and After Optimization - http://cdn.kylerush.org/kr/images/contribute-before-after-screenshot.jpg http://cdn.kylerush.org/kr/images/contribute-before-after-sc...
- rbanffy 14y agoThere were a couple comments about the legality of foreign donations, but I wonder whether foreigners can volunteer for a campaign. Some causes are worth the hassle.
- maximveksler 14y agoA tech* question: How did you implement the fail-over to a different amazon region when one fails? I'm interested in common approaches to this SPOF and what have been done in this case. *seeing the discussion that is going on around this post, it almost feels off-topic to post a technical question :)