Tracking Queue

Marketing Glossary

Market Ruler, LLC

Tracking Queue

ConversionRuler allows you to track events on your page which likely occur in a "Web Application" where the page URL is never reloaded, but content is loaded dynamically using AJAX and JavaScript. Many new applications, particularly for Mobile Devices, are written using this type of functionality, and so it makes sense to be able to easily communicate these to ConversionRuler with the minimum overhead required.

Note that this method should only be used when conversions do not reload the current page. The easiest way to determine this is if the page address stays the same (although this is not always the case.)

Data is communicated to ConversionRuler using an event queue which takes similar parameters to __CR.track.

To use the queue, you must initialize it to an empty array using the following code:

<script type="text/javascript">
var _crq = window._crq || [];
</script>

Simple enough. To send an event to ConversionRuler, you simply push an event on the end of the queue, as follows:

<script type="text/javascript">
_crq.push('clicked-button');
</script>

Typically, this will be placed deep within your JavaScript application code. Note:

You can pass parameters to the queue as well, in which case you will pass an array to the queue, as follows:

<script type="text/javascript">
_crq.push(['orders', '$29.99', '#51209035']);
</script>

The main difference is the passing of an array, the parameters match the ordering of parameters to __CR.track, e.g.

  1. Action Code
  2. Amount 0
  3. Text 0
  4. Amount 1
  5. Text 1
  6. Amount 2
  7. Text 2
  8. Amount 3
  9. Text 3

You can also pass a function to the queue as well, which takes a single parameter which is the ConversionRuler JavaScript Global which contains functions and state for ConversionRuler itself:

<script>
var _crq = window._crq || [];
_crq.push(function (cr) {
      // Note cr.track is the same as __CR.track here!
      cr.track('contact', null, cr.cookie('cr-email'));
 });
</script>

This is extremely useful when you need to use ConversionRuler functionality but are not certain when ConversionRuler itself is loaded. Any functions passed into to the _crq queue will only be invoked:

To add an event to the queue deep within your JavaScript code, simply use window._crq in your code to access the global scope (assuming "window" is not replaced in the local scope), as follows:

<script type="text/javascript">
function click_handler() {
   // Load AJAX code
   // Set options, etc.
   options.complete = function () {
      window._crq.push('show-signup-dialog');
   };
   $.ajax(options);
}
</script>

The Tracking Queue can be used as a drop-in replacement for __CR.track in most cases.

Jump to: navigation, search