Creating Unique Post URLs for A/B Testing… Is this even possible?

I want to create a WordPress plugin that allows me to do A/B testing for WordPress standard posts, but I can’t use the Shrimptest plugin because I need a spin: Since I’m ultimately testing shareability on social networks, I want each of my variant posts to have unique URLs.

So: How can I create three posts (each with its unique URL) and then rotate their appearance on the frontend?

Read More

But I’m not even sure if this is technically possible. Any tips on how to get started?

I’ve also looked at the WordPress Headline Split Tester (http://wordpress.org/extend/plugins/headline-split-tester/), but again I’m not sure if whomever clicks on their friends’ shared Headline A will also go to the post with the same Headline.

I’ve also looked at the Premise plugin, but they seem to support landing pages only — not posts.

Thanks in advance for any tips/suggestions.

Related posts

Leave a Reply

2 comments

  1. You can use ShrimpTest for this. Basically, you need to reverse the test idea. You’re making three separate posts, one of which will be displayed on the front page. That means that two others will not be displayed on the front page. So you’re doing an exclusion.

    Say your three posts have id’s of 101, 102, and 103. You’d set up a test and use the manual PHP mode. Then in your index.php file (or whatever is displaying on your homepage), you’d do this:

    $variant = shrimptest_get_variant( 1 ); // this will be the test number
    switch ( $variant ) {
      case 0:
        $exclude = array(102,103); // show post 101
        break;
      case 1:
        $exclude = array(101,103); // show post 102
        break;
      default:
        $exclude = array(101,102); // show post 103
        break;
    }
    

    Then something like query_posts(array('exclude'=>$exclude)) or similar to modify your main query. You don’t really explain in your question how you’re showing these, so I can’t be sure of this part.

    ShrimpTest is generic. It can test anything. You just have to write the code for what you’re testing yourself.