Tutorial: Scoring & ranking listeners

Behavior listening and form listening represent half of the most frequently used BlueConic listeners. The other half? Scoring and ranking listeners! Like form listening and behavior listening, using scoring and ranking listeners involves:

  1. Creating, or selecting, a profile property to populate with information
  2. Setting up some rules to define what information lands in the profile property from #1

Let's take a look at scoring and ranking listeners in a single tutorial!

We'll use our fake publishing site, taylor-news.com as an example. We'll listen in to content categorization today, but hopefully it will be clear that the same approach can be taken for listening to product categorization and site/app features in non-retail scenarios.

For today's tutorial, we have two use cases. Since this is a listener tutorial, the supporting data is more interesting than the use cases themselves:

Use case #1: Applying relevancy targeting to drive newsletter conversions

We have various content-based themes for a newsletter signup form on our home page. We would like to show relevant themes for our ads, based on users' content interests. In order to do that, we need to know what content they are interested in -- we'll set up an interest ranking listener for this

Use case #2: Acquiring qualitative data from highly engaged readers

An overhaul to our Technology section is coming, and we want to ask our most engaged tech readers a couple questions. The responses will guide our decisions and inform us about the users' preferences. In order to prompt the right users, and leave the others alone, we need to know how engaged with technology content users are. We'll set up a scoring listener for this.


It's profile property time!

As noted in the intro, to get started we need to create or select profile properties to land our data in. We'll start with the ranking listener first, and will create one profile property to hold the top three sections a user is interested in. For example, a user might have a property value of:

"Sports","Technology","Lifestyle"

Which we mean to indicate that the user has shown an interest in all three categories, and is most interested in sports content, followed by tech and lifestyle.

To create the first profile property, follow these steps or skip down to the next image and try to match your configuration up with ours.

  • Head to the Profiles > Profile Properties tab and click "Add Profile Property" to begin.

  • Enter a unique identifier (ID) for your profile property. Think of this as a short name -- but remember that only alphanumeric characters, underscores, and hyphens are allowed. We'll go with "top_sections" here.

  • For the name field, you have more freedom to include spaces and other characters. This is the name that will be displayed for the profile property throughout BlueConic.

  • Enter a description that includes supporting information that allows other BlueConic users to understand why the profile property exists.

  • Leave the category as "Context"

  • Check the box next to "Segment Filter", and change the filter type to "Text"

  • Add some labels for the property, if applicable. Not sure how you'll use labels for categorization/organization yet? Try just entering "content" for now. You can always change or add to this later.

Here's the property we just configured --- hopefully yours looks similar?

Lovely work! Now we get to configure the interest ranking listener to populate that property. Save your property, head to the listeners tab, and click "Add Listener" on the left side. Select "Interest Ranking", and let's fill out the listener configuration:

  • Enter a name for the listener, e.g. “Top sections”

  • Enter a description for the listener. Include the reasons for creating the listener, and score bonus points if you come back at the end to explain the decisions made when configuring the listener.

  • Select the applicable channel(s) for the “Where” option.

  • Enter a label if you wish, or leave this entry blank for now.

  • Select the profile property we created earlier.

The next option allows you to enter "interests" which BlueConic can listen for within the content of your pages... but that's not the only way! You can also listen for interests dynamically! You define where, within the page, the interests exist, and BlueConic will add them to users' profiles.

Since this is a tutorial, and we don't know how you would be best off configuring your interest ranking listener, we'll start by explaining one way... and at the end of the tutorial, well try and point you towards other possibilities. 

  • We're going to enter static values into the "Interests" option, which BlueConic will listen for as users travel Taylor-News.com:

  • We decided pretty early on that we needed to know the top three sections users are interested in. The "Expert Settings" is where this is configured, amongst other things:


    The decay period controls how many days the interest data will stay in users' profiles. The threshold ensures that items aren't considered "interests" until they reach your defined score boundary. The last number tells the listener how many values should be kept in users' profiles.
  • We're going to leave the decay period at 90 days, change the threshold to 2 points, and set up the listener to store 3 values per profile.
  • With our interests defined, and knowing our URL structures, we can easily finish the job by adding a single URL rule:


    What if we have hundreds of sections? Or, what if the available sections is subject to change over time? That's where defining where the interest lies within the page can be helpful. To approach in this way, you wouldn't enter anything in the "Interests" option of the listener configuration. Instead, when setting up the rule, you would select "interest based on selector" to define where the interests are coming from (see "each found interest" above). More on this later.

But wait, there's more!

That was use case #1. We still need to create the dialogues to inject our newsletter signup ads, but now we have a strong foundation of data to base the relevancy targeting on. This is a listening tutorial, so we're moving on to the next use case where we needed to configure a scoring listener to determine who is highly engaged with technology content.

Let's create another profile property to indicate whether users are highly engaged in tech content, users we hope to gather more data from to help us with product development and with driving more engagement. Without going through this one step-by-step, here's the image we ended up with after creating it:

With the profile property in place, it will only take another minute to add the scoring listener. Get back to Profiles > Listeners, click "Add Listener", and select "Scoring" to begin!

  • Give the listener a name. We chose "Technology scoring"

  • Enter a meaningful description for the listener.

  • Select the channels the listener should run on. Optionally, define the pages the listener should run on. In our case, we are only interested in users who are on Taylor-Shop.com URLs that contain /technology/ -- it only makes sense to run the listener on these pages:
  • Enter a label if you wish, or leave this entry blank for now.

  • Select the profile property you created earlier to hold your engagement score.

  • Now for the fun! Scoring rules... first rule is very simple: since we are running the listener on technology pages only, we can give users a point just for being there. Click "Add Rule" (of type: Content) and set a number of points to give for page views:



  • If there are other areas that could be clicked that users should get points for, set up rules for those as well (click "Add Rule" after changing the type to "Click")



    For these, again choose a number of points to assign to the score, and click "define click area" to select an item from the page (e.g. a comment submit button, or social sharing icon).

  • In the end, you'll end up with a multi-rule listener defined -- here's ours!

Whew! Nice work! Here are some thoughts for the future...

For future consideration:

  1. Dynamic interest parsing (when you choose "interest based on selector" in interest ranking rules) is just as popular as manually defining the interests in listener rules. There are great use cases for each, but generally speaking you will want to use dynamic interest rules when there are dozens to hundreds or more of distinct interest values, or when you have no control/understanding of what you might need to store over time (e.g. changing inventory).

  2. Consider how recent the scoring/listening data should be and configure the decay period accordingly! There may be times when you need to store data with two decay periods. In these cases, you can use the "Save As" feature to copy the profile property and listener, making minor changes as you go.