Rich-text Reply

Using Google Sheets as a temporary CMS for the purposes of AB testing

td_evans 07-20-15

Using Google Sheets as a temporary CMS for the purposes of AB testing

[ Edited ]

It’s often joked about by the Tech team at Secret Escapes, that I’m trying to use Google Sheets/Forms to build a new Secret Escapes.

 

This month, I’ve begun trying out how we can use Google Sheets to make changes on the front end that would usually need to go into the database. One example is sale titles. Usually we use sale titles which are descriptive, as opposed to inspirational. A Marriott hotel in Paris, would be called “Marriott Hotel Paris” – we wanted to try changing all sale names, so they are something more like “Luxury 4* Hotel with view of the Eiffel Tower”.

 

Usually, we’d make a change in our CMS and Database to include 2 sale titles, and then toggle what was shown depending on AB test conditions. This allows our editors to make changes on the fly, and not have Tech push changes. Another option would have been a static JSON or CSV provided on an occasional basis, but this requires both regular Tech updates and ensuring they are kept up to date is a task with overhead.

 

So – I decided to use Google Sheets as a makeshift CMS, and then use it to create a JSON feed which could then be pulled into Optimizely to manipulate the front-end using Jquery.

 

I set up a Google sheet with the internal sale reference ID, and the new name we wanted to call it. Then I set it to be publicly available, so we could access the JSON. Obviously as it’s publicly accessible, you don’t want any personally identifiable information in there – but for this experiment it’s fine. All this is accessible on the website, anyway.

 

The Google Sheet, with the internal ID of the sale we wish to change and the new name

The Google Sheet, with the internal ID of the sale we wish to change and the new name

 

Next up was to set-up the Optimizely experiment, the JS needed to pull this information through is actually remarkably simple.

 

The JS written to pull through the spreadsheet as a JSON file and change the sale card.

The JS written to pull through the spreadsheet as a JSON file and change the sale card.

 

I spent some time setting up the firing rules, and testing it. But voilà, the new names pull through on our page

 

The updated sale card on our sales listing page

The updated sale card on our sales listing page

 

Obviously this should never be a long term solution or alternative to a DB or CMS. But as a quick way to allow editable data in an AB test for none technical users, it’s perfect.

Thomas Evans
Technical Product Manager - Conversion @ Secret Escapes

Level 2

Re: Using Google Sheets as a temporary CMS for the purposes of AB testing

Hi @td_evans,

 

Wow - the Conversion team is crushing it on our Community!

 

This is really clever and creative!  I'd love to hear you describe how you complete the loop - once a variation serves a given title as tied to a sale ID, how does the "CMS" become aware of which variation that was?  Are you able to use our data object to update the spreadsheet?

Harrison Krat
Solutions Architect | Optimizely, Inc.
harrison@optimizely.com
 
td_evans 07-20-15
 

Re: Using Google Sheets as a temporary CMS for the purposes of AB testing

Hi,

So the data is pulled from the Google Sheet, populated onto the front-end using Jquery and we use Optimizely to run all the tracking.

We don't do any updating of the spreadsheet from the Optimizely side. The Editorial/Web team are the ones updating this, to override the titles we previously set in our backend CMS (which is custom built, guessing you could do the same with Magento or similar though).

The aim of this project is to find out which titles work better.

Tom
Thomas Evans
Technical Product Manager - Conversion @ Secret Escapes

Level 2

Re: Using Google Sheets as a temporary CMS for the purposes of AB testing

Hi @td_evans,

 

Awesome that Optimizely is able to provide all the tracking you need and you've found a fast and flexible way to test content!

 

Many of our customers are looking for better ways to integrate Optimizely with their CMS, and we've generally been thinking about helping them leverage the data object.  I think this third-party software approach can prove very valuable - thanks for the idea!

Harrison Krat
Solutions Architect | Optimizely, Inc.
harrison@optimizely.com
 
tobyurff 07-21-15
 

Re: Using Google Sheets as a temporary CMS for the purposes of AB testing

Hi @td_evans,

 

Great idea! Thanks for sharing this use case here.

 

Your current hypothesis and implementation checks if inspirational titles work better across the board, if I grasp this correctly.

 

Another form of half-automated testing could be to test which title or image works best for each individual deal. We have some customers who run these kinds of experiments (by using our API), so if you're interested in learning more about that use case, I'd love to work with you on that. Just send me a DM here on Optiverse and let's chat.

 

Toby

Optimizely