A/B testing Facebook ads

Everyone tells you that you need to test test test your advertisements. Keep on changing small things, let them run and compare results. Makes sense, right? But it was surprisingly hard to find information on how exactly you should DO this — seems like everyone writing about split testing assumes that of course you know how to do it already.

I had one ad running in my Facebook campaign, with some 30,000 impressions and 20 clicks on it. I created 3 variations on it, changing the picture and the ‘call to action’. So now I had four ads:

  1. Picture with white background, “Upgrade your style now!” (the original)
  2. Picture with white background, “Free shipping!”
  3. Picture with black background, “Upgrade your style now!”
  4. Picture with black background, “Free shipping!”

All ads with the same CPC bid, same demographic targeting. Submit the 3 new ones, wait them to be approved and then wait for few days to check results.

Results — none of the new ads were getting any impressions at all, or just few hundreds of them. Meanwhile the original ad kept showing 5,000 – 10,000 times a day. What gives?

Looks like Facebook does the same thing as Google by  default — ads with better historical performance are shown more often. From their documentation: “This means that if your ad has performed well in the past, it has a better chance of showing up in the future.”

Sucks for split testing. I changed the bidding on all ads to be based on impressions, not on clicks, and this helped, all ads were now showing. The impression count is still a bit off, with the best performing ad (most clicks) getting 33,00 impressions in a week and the worst performing getting just 26,500. So the ‘performance drift’ hits you even over just few days.

Now it was time to read the documentation. Oops. Looks like Facebook has an article about ad testing:

So in summary:

  • Create each ad variation in a separate campaign to ensure even distribution of impressions.
  • Only change one thing at a time in the ads (image, one line of text etc).
  • Be sure to have same bid on all ads. Bidding on impressions seems to be cheaper on new ads.

Kai vs. FBML, Round 1

As I mentioned in my previous post, you really need to have a static landing page on your company Facebook Page. I started reading about FBML markup language and soon got lost in all the details about how to access the Facebook ‘social objects’, user information etc. Until someone, somewhere mentioned that you can just write regular HTML and ignore all the Facebook specific tags unless you need them. D’oh.

Now it’s not quite as simple as that. There are few special cases I had to cover (and learn the hard way) before the landing page was all ok.

1. Image caching

The Accepted Way of handling images is to host them externally and access them with the full URL in IMG tags on your FBML page. No problem, I uploaded all my images to the BigCommerce server hosting my storefront and I was good to go. Worked like a charm.

Now, Facebook caches the images, which I noticed when I went and updated it on my hosting server and nothing changed in Facebook. What you have to do is to add a dummy parameter at the end of the image URL and change it every time you update the image. This makes Facebook think the image URL has changed (well, technically it has changed even though it is still pointing to the same image file) and will re-cache it.

It doesn’t matter what you put in as the parameter, it is not used for anything. I used date as the dummy parameter like this:

<img src=”http://www.silverfirejewelry.com/templates/__custom/images/fb-banner01.jpg?ver=20101027“>

Now every time you update the image file on your server, you need to remember to go and change the parameter value. Annoying, but it works.

2. CSS circus

You can not link to external CSS sheets from your FBML code. Oops, Facebook changed their implementation and now you can. Oops, now it doesn’t work with Internet Explorer. Oh, now they fixed it and it works with everything. Oh, Internet Explorer does not read the internal CSS in your FBML document anymore?

So this is another annoying ‘feature’ — how Facebook handles CSS seems to change every now and then. Only sure-fire way of ensuring your CSS is always read is to use inline CSS, i.e. embedding your style definitions in your HTML tags like this:

<div id=”textbox” style=”width: 480px; height: 130px;”>

This is not very maintainable and really works only for small pages. As of this writing FBML seems to play nice with external stylesheets with every browser, but this can change in the future (and has changed in the past). See this article for a very good summary of the situation.

As with the images, host the stylesheet on your web server and link to it from your FBML document like this:

css?ver=20101029″ rel=”stylesheet” type=”text/css” />

Note that you’ll need to use the same dummy parameter as with the image files, as Facebook does cache the style file too.

Creating Facebook Page for your online business

So it’s 2010 now and no business should be without Facebook presence. Right? So what does this mean in practise? You’ll need:

  1. Facebook Page (not Group!)
  2. Landing page using FBML application and with link to your online business pages
  3. At least 25 ‘likes’ so you can get  short URL for the page
  4. Advertisements
  5. Regular updates on your wall

To go into more detail on these, and some pitfalls I encountered doing this for the first time.

1. Facebook Page

You can not create a Facebook username for your business — Facebook specifically forbids this. Facebook users have to real, breathing human beings, not faceless corporations. What you can create for your business is something that Facebook calls a ‘Page’.

Log in to your own Facebook account (you’ll need one, sorry, no way around it) and in the left sidebar click on “Ads and Pages” and navigate to the Create Page view. The first important selection is the page type. Community Pages are meant as fan pages, for people who don’t own the business. You don’t want that.

On the other side you have Official Pages for business owners. Selecting the right type of business is important because it impacts on the page style and type of information presented on the pages. If you select the wrong type, you can not change it later — you’ll need to delete the page and create a new one instead.

If your business is a real brick-and-mortars business with a place people can walk in to, go ahead and select the “Local business” type. This requires you to enter the business address and the Facebook page will show this address. If you’re setting up the page for an online business (like I did), select “Brand, product, or organization” and from the drop-down list select “Online Store”.

Fill in the rest, and you’re all set!

2. Landing page

Pretty much every company Page on Facebook has a static landing page, created using  FBML markup language. It makes sense, you’re doing marketing after all and you’ll want the people coming to your page to have a good idea what they’re dealing with. There are some good write-ups on FBML the internets, I found this to be pretty good when I created my landing page.

3. Short URL for the page

By default the URL for your Page is something not-so-easy to remember, like http://www.facebook.com/pages/Silverfire-Jewelry/136339093082545

You can select a ‘username’ once you have 25 fans, i.e. people who have ‘liked’ your Page. This would make your Page URL something easier to remember, such as http://www.facebook.com/MyOnlineBusiness

4. Advertisements

To get those 25  fans, you need to make people aware of your Page. Asking all your friends to ‘like’ your Page is good first step, but you need to do some real advertising to get the Great Public to notice you.

Facebook advertisements work pretty much the same way as the Google AdWords, except that you can add a picture and there are more options to target your add to small subset of Facebook users:

  1. Create an ad containing a Subject line, small image (110 x 80 pixels) and two lines of text.
  2. Select demographics to target (geographical area, age, sex, interests, school, employment etc).
  3. Decide how much to bid per click or per thousand impressions.
  4. Select your daily or overall budget

You can create the ads from a button on your Page (when you’re logged in as the administrator) or from your own Facebook page in the left sidebar by clicking on “Ads and Pages”. Note that at least as of this writing the ad editor seems to have some issues with Chrome on my Windows 7 machine — it works on some other computers, but not all. Just use Firefox or IE instead.

5. Regular updates on your wall

Once you have fans, you need to keep them engaged! Post updates at least few times a week. Keep them interesting and relevant so people will ‘like’ them. Posting links gives your postings more prominence on people’s walls. Posting Facebook-only specials (“25% off today for FB users only!”) keeps people following your pages and recommending them to their friends.

Don’t post too much and don’t post completely unrelated content. Hiding your posts or ‘unliking’ you takes just one mouse click.