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
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:
- accounts.registerCounters: used to activate a predefined counter and/or to define a custom one.
- accounts.incrementCounters: the actual counting of the user action you are tracking.
Following is an example for a _purchases counter you can add to the code of a purchase confirmation page on your site:
To retrieve the data accrued for a counter, use Customer Insights, or accounts.getCounters.
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:
- _pageViews - To be incremented when a user views a page. See Using Signals to Track Page Views for more information. Note that you can set this counter to increment automatically, or use an API call.
- _adClicks - To be incremented using an API call whenever a user clicks an ad. See Incrementing Counters.
- _purchases - To be incremented using an API call whenever a user makes a purchase. See Incrementing 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)
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:
For example, to find users who have posted at least 10 comments, use the following query:
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:
- Go to the Signals page in Gigya's Console.
- Under Paths, edit or add the path for which you wish to track page views, and click "Save Changes".
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.
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.
- In the box that appears, enter your filtering term as you would format the WHERE clause in a search query (see Filtering Search Queries by Counters).
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:
- 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.