Signals

Skip to end of metadata
Go to start of metadata

Overview: Tracking Behavioral Data

Gigya's Signals is the tool for tracking behavioral data on your site, providing you with valuable information about user behavior, which can then be used for optimizing the core business flows of your site (e.g., opt-ins, logins, engagement, purchases). The data is readily available in Gigya's Customer Insights, can be easily exported to external systems and is of course accessible via our JS and REST APIs. 

Signals is based on a simple yet effective counter system - which increments the user actions you are tracking in real-time. Gigya provides a number of counters out of the box, which automatically track certain behaviors with no need for any configuration. In addition, you can define your own custom counters for any notable user action you wish to monitor on your site. 

Advantages of Using Signals

  • Collect valuable, actionable data on how your site is used 
  • Enables segmentation into sub-categories by using the path parameter
  • Specifically designed to handle high volume rates (no rate limit)
  • Create trend reports based on the timestamp coupled with each user action
  • Available both on server and client side

Note: Signals is a premium service requiring activation. If it is not yet a part of your site package, contact Gigya support via the Support link in the top menu of your Console Dashboard, or email support@gigya.com.

Implementation 

Once Signals is activated on your account, several user behaviors are tracked automatically with no need for configuration.  

You can then track additional actions by using custom counters.  These are the APIs required for implementing these counters: 

Following is an example for a _purchases counter you can add to the code of a purchase confirmation page on your site: 

counters: [
   {
     "class" : "_purchase",
     "path" : "/",
     "value" :  200 //Replace the hard-coded value with your parameter for purchase value, to increment the total value of purchases made by this customer. 
   },
]

To retrieve the data accrued for a counter, use Customer Insights, or accounts.getCounters

The number of counters available for each implementation of Signals is 15 by default. To request additional counters, contact Gigya support via the Support link in the top menu of your Console Dashboard, or email support@gigya.com.

Signals Default Counters

Automatically Incremented Counters

When Signals is activated, several types of user behavior are automatically tracked, so that these counters are added automatically to your account. Note that these automatically incremented counters cannot be incremented manually, and cannot be segmented using the path parameter. 

  • _shares - Incremented when the user shares.
  • _comments - Incremented when the user posts a comment.
  • _reviews - Incremented when the user posts a rating or a review.
  • _reactions - Incremented when the user clicks on a reaction button.
  • _gmLevelUps - In sites implementing game mechanics, this counter is incremented when the user progresses a level.
  • _clickbacks - Incremented when a link shared by the user is clicked on (incremented for the user who posted the link, not the user clicking the link).
  • _commentVotedUp - Incremented when a comment made by the user receives a "thumbs up" from another user (incremented for the user who posted the comment, not the user clicking the link).

Other Default Counters

The following out-of-the-box counters are not incremented automatically:

Custom Counters

In addition to the default counters, you may create custom counters to track any user action on your site. Defining a new counter involves registering and incrementing it. Counters are defined with a class, which describes the type or role of the counter, and a path, which may be empty ("/"), or can contain a sub-category(e.g., "/sports").  

For example, if you run a health and lifestyle website, you may want to track the categories of the articles opened by each user, such as exercise and nutrition, and the total number of articles opened. When tracking each of the sub-categories, you automatically also keep a record of the total number of articles opened by the user. In this example, if a user opened 2 articles on nutrition and one on exercise, Signals will know to add 3 counts to the total number of opened articles as well as 2 counts to nutrition and 1 to exercise.

To implement this functionality, register a new counter, e.g. articlesOpened (see Registering Counters for details) and create each segmentation as a path:

  • "/" (root path)
  • "/nutrition"
  • "/exercise"

Additional Information on Working with Counters

Filtering Search Queries by Counters

You can use counters to filter search results when using accounts.search.

The FROM clause of the search query has to specify "FROM accounts WITH counters".

In the WHERE clause, use the following format:

ifElement(counters, class='<your counter class>' AND path='<your path>' AND <your count condition> [AND <optional conditions>]) = 1

For example, to find users who have posted at least 10 comments, use the following query:

SELECT * FROM accounts WITH counters WHERE ifElement(counters, class='_comments' and path='/' and count >=10) = 1

You can use conditions on any other field in the counter object to further segment the data. For example, adding AND period='1412' limits the counting period to the month of December, 2014.

See Counter Objects for the full list of fields in a counter object.

For more information about using counters and ifElement in search queries, see accounts.search.

Using Signals to Track Page Views

The Signals page in the Gigya Console enables you to specify the pages to be used with the _pageViews default counter, providing you with a clear picture of popular pages on your site and a basis for analyzing trends. 

You may also use the accounts.registerCounters API method to register paths for _pageViews counters.

Define Pages Tracked by the _pageViews Counter

To define paths for _pageViews counters:

  1. Go to the Signals page in Gigya's Console
  2. Under Paths, edit or add the path for which you wish to track page views, and click "Save Changes".
     

Notes:

  • A path may be the name of a specific page in your site (e.g. "/news/finance"), a directory containing pages (e.g. "/news"), or the entire site (i.e. "/"). In any case, do not include the domain name in the path: if your site is mysite.com and you wish to track mysite.com/about, under Paths, enter "/about".
  • By default paths can be no deeper than two levels, where "/news/sports" is two levels and "/news/sports/football" is three levels. Paths ending with a slash are regarded as a new level: "/news" is level one: "/news/" will be treated as level two. Deeper level counting is available on request.
  • If you edit an existing path, you essentially delete it: the previous path becomes unavailable for reporting, and the new path replaces it. The removed path will not be counted.
  • The number of path slots you see in the dashboard is a result of the number of counters allotted to your Signals account (the default is 15) minus the number of counters you have already registered via accounts.registerCounters.
  • To register paths for any counter other than _pageViews, see Registering Counters.

Incrementing _pageViews Counters Automatically

To have the _pageViews counter increment automatically, include gigya.js in a page and set the actionCounterPath parameter of the Global Conf object to your path, as in the following example. This code will cause the _pageViews counter for the /news path to be incremented whenever the page is accessed.

<script type="text/javascript" src="http://cdn.gigya.com/js/gigya.js?apiKey=<INSERT-YOUR-APIKEY-HERE>">
	{
    	actionCounterPath: window.location.pathname,
	}	
</script>

Alternatively, you may increment the _pageViews counters by calling accounts.incrementCounters with the appropriate path.

Use of Signals in Customer Insights

The Customer Insights and Customer Insights Plus tools take advantage of the counter data offered by Signals in order to chart and analyze user activities.

The following CI tabs use counter information:

  • The Social Activity tab displays reports based on the _shares, _comments, _reviews, _reactions and _gmLevelUps counters.
  • The Influence tab displays reports based on the _clickbacks and _commentVotedUp counter.
  • The Revenue Activity tab displays reports based on the _pageViews, _purchases and _adClicks counters.

Configuring Counters for CI

The counters for Social Activity and Influence reports do not require your intervention.

For Revenue Activity reports, however, you must configure the following counters:

  • For the Top Content report, configure the _pageViews counters as detailed above (define paths using the Signals page in the Gigya Console and increment your counters using either actionCounterPath or accounts.incrementCounters).
  • For the Purchases and Purchase Amount reports, record each purchase using accounts.incrementCounters, specifying "class":"_purchases" and "value":.
  • For the Ad Clicks report, record each ad-click using accounts.incrementCounters, specifying "class": "_adClicks".

Using Custom Counters in CI

You can use your custom counters to filter reports in Customer Insights Plus.

If you are not familiar with CI Plus filtering options, see Filters.

To add a filter based on a custom counter:

  • In CI Plus, click Set Filters.
  • Click the Click to add a filter box.
  • In the drop-down list, scroll down and choose Custom.

For example, if you have defined a "videosWatched" counter class as described above, you can enter the following query to filter the reports to show only users who have viewed at least 10 videos in the previous 7 days:

ifElement(counters, class='videosWatched' AND path='/' AND count >= 10 AND period='last7Days') = 1
  • Click Add. The Audience data at the bottom of the Filter Configuration box should refresh based on the number of users who match your query.
  • Click Apply to apply the new filter to the CI reports.