Standard Events
Predefined functions and events that are common across different types of apps within the Grid. These standard functions exist so that the same events always have the same payload, so analytics data is consistent across different types of apps, which makes for easier reporting.
When tracking user identity, identifyContact
and sendContactMetadata
should be used.
Custom Events
any events and parameters based on you needs
Make sure you only invoke function events after Grid Signals is initialized.
detectAge
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().detectAge(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.detectAge(params);
...
Information about the user, returned from computer vision, 3rd party services, or selected by a user in the UI
Note, this method will update the Contact Metadata but it will also log the values for analytics purposes. If
CONTACT_METADATA
event is used directly, then the value is not logged for reports
Parameters
Key | Type | Required |
---|---|---|
ageRange | number | yes |
interaction | boolean | yes |
targetAge | number | yes |
detectGender
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().detectGender(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.detectGender(params);
...
Information about the user, returned from computer vision, 3rd party services, or selected by a user in the UI
Note, this method will update the Contact Metadata but it will also log the values for analytics purposes.
If CONTACT_METADATA
event is used directly, then the value is not logged for
reports
Parameters
Key | Type | Required | Description |
---|---|---|---|
certainty | number | yes | The certainty of the mood, provided by computer vision |
gender | string | yes | Any of the following: FEMALE, MALE |
interaction | boolean | yes | If the user provided this value or if it was detected from computer vision |
detectMood
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().detectMood(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.detectMood(params);
...
Information about the user, return from computer vision or selected by a user in the UI
Note: this method will update the Contact Metadata but it will also log the values for analytics purposes.
If CONTACT_METADATA
event is used directly, then the value is not logged for
reports
Parameters
Key | Type | Required | Description |
---|---|---|---|
certainty | number | yes | The certainty of the mood, provided by computer vision |
mood | string | yes | Any of the following: ANGRY, DISGUST, FEAR, HAPPY, SAD, SURPRISE, NEUTRAL |
identifyContact
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().identifyContact(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.identifyContact(params);
...
Identifying the customer based on a known identifier
Parameters
Key | Type | Required | Description |
---|---|---|---|
contactType | STRING | yes | Provide any of PHONE, EMAIL, and CLIENT_ID |
contact | string | yes | Enter the value of contactType |
interaction | boolean | yes | Whether the event was triggered by the user or not |
sendCartAdd
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCartAdd(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCartAdd(params);
...
Adding a product to the cart
Parameters
Key | Type | Description | Required |
---|---|---|---|
productId | string | Product primary id used in PIM | yes |
quantity | number | Product quantity added into the cart | yes |
sendCartClear
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCartClear();
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCartClear();
...
Clear the cart
sendCartRemove
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCartRemove(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCartRemove(params);
...
Remove a product from the cart
Parameters
Key | Type | Description | Required |
---|---|---|---|
productId | string | Product primary id used in PIM | yes |
quantity | number | Product quantity added into the cart | yes |
sendCartView
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCartView();
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCartView();
...
View the cart page
sendCategoryView
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCategoryView(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCategoryView(params);
...
Browse a category's page
Parameters
Key | Type | Description | Required |
---|---|---|---|
categoryId | string | Category primary id used in PIM | yes |
sendCheckout
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCheckout();
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCheckout();
...
Checkout step before payment
sendContactMetadata
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendContactMetadata(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendContactMetadata(params);
...
Identifying the customer based on a known identifier.
Parameters
Key | Type | Required | Description |
---|---|---|---|
interaction | boolean | yes | Whether the event was triggered by the user or not |
str1 | string | yes | Provide any of |
str2 | string | yes | The value of the |
sendContentView
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendContactMetadata(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendContactMetadata(params);
...
View a generic piece of content, equivalent to a "pageview" in old school web analytics
Parameters
Key | Type | Required |
---|---|---|
localizedTitle | string | no |
title | string | yes |
url | string | no |
sendFeedback
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendFeedback(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendFeedback(params);
...
Send user's feedback on the experience
Parameters
Key | Type | Required |
---|---|---|
feedback | string | yes |
rating | 1 | 2 | 3 | 4 | 5 | no |
sendLookView
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendLookView(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendLookView(params);
...
Viewing a specific fashion look, which is an array of products
Parameters
Key | Type | Required |
---|---|---|
lookId | string | yes |
sendProductView
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendProductView(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendProductView(params);
...
View a specific product page
Parameters
Key | Type | Description | Required |
---|---|---|---|
productId | string | Product primary id used in PIM | yes |
sendPurchase
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendPurchase(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendPurchase(params);
...
Payment success
Parameters
Key | Type | Required |
---|---|---|
coupon | string | no |
currencyCode | string | yes |
revenue | number | yes |
shipping | number | yes |
tax | number | yes |
transactionId | string | yes |
sendRating
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendRating(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendRating(params);
...
The user's rating of the experience
Parameters
Key | Type | Required |
---|---|---|
comment | string | yes |
interactionDelay | number | no |
rating | 1 | 2 | 3 | 4 | 5 | yes |
sendSearch
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendSearch(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendSearch(params);
...
Searching a product, category, or anything in the app
Parameters
Key | Type | Required |
---|---|---|
searchQueryString | string | yes |
sendSearchClear
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendSearchClear();
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendSearchClear();
...
Searching a product, category, or anything in the app
sendCustomEvent
React
import { getInstance as gs } from '@ombori/grid-signals-react';
...
gs().sendCustomEvent(params);
...
NodeJS or Javascript
import GridSignals from '@ombori/grid-signals';
...
const gs = new GridSignals();
await gs.init(<init-params>); // Check NodeJS App Integration page for init params reference
await gs.sendCustomEvent(params);
...
Used for tracking custom events outside the standard session event methods. Any parameter can be sent, and you have the availabilty of 5 string and 5 number parameters.
Parameters
Key | Type | Description | Required |
---|---|---|---|
eventType | string | Event type outside the standard event types (Example: TEST_EVENT) | yes |
interaction | boolean | If the event is triggered by a user | yes |
productId | string | Product id related to the event | no |
categoryId | string | Category id related to the event | no |
int1 | number | Integer type field related to the event | no |
int2 | number | Integer type field related to the event | no |
int3 | number | Integer type field related to the event | no |
int4 | number | Integer type field related to the event | no |
int5 | number | Integer type field related to the event | no |
str1 | string | String type field related to the event | no |
str2 | string | String type field related to the event | no |
str3 | string | String type field related to the event | no |
str4 | string | String type field related to the event | no |
str5 | string | String type field related to the event | no |