Running contests within a content management system to engage visitors
Rasmussen Reports runs a contest where visitors have to guess what an upcoming public opinion poll result will be. Participants get points depending on how close they are to the actual result. A new question is asked every week, making for a fun, recurring way for visitors to interact with site content. Here's how we developed the contest on top of an eZ Publish extension called eZ Survey.
Contest user experience
eZ Survey is a flexible base on which to run this kind of contest, although it might not have originally been intended to be used this way.
In this case, each question is an independent "survey" where users are first asked to guess the poll result for the question:
Before submitting the answer, the user fills in some basic personal information and can subscribe to receive future newsletters and alerts:
After the contest entry is submitted, we generate a confirmation email with the question, the user's answer and also the current average, high, and low answer:
In order to make it easier for editors to create each week's contest challenge, we've added some extra information to the default "survey" management page, include the average, high, and low response data:
As you can see in the left column we've also added a couple of links. One exports a full digest of the submissions sorted by their overall score. The second triggers the update of a leaderboard that can be displayed anywhere on the site.
Editors also have a full control over the challenge question and surrounding wording, since it is implemented just like any other page they would edit on the site. Instead of editing story headlines, author relations, related links, and so on, they can edit the question text, the valid submission dates for each week's challenge, and the correct answer that will be used to calculate everyone's score:
One of the so-called "question types" is the "Newsletter", which has some custom code that triggers the connection to an e-mail marketing service to add participants to various mailing lists. We also added a feature to the "Email" question type to ensure that participants can only submit one answer per contest.