For the complete documentation index, see llms.txt.

Track events manually

Dernière mise à jour Voir en Markdown

In addition to autocaptured events, use the CSQ.trackEvent() API to send custom events and attach properties to them for use in Product Analytics.

import { CSQ } from "@contentsquare/react-native-bridge";
CSQ.trackEvent("purchase_completed");

It doesn't matter what you call your event, there are ways in Product Analytics to cross-track events regardless of name. See our guide on combo events ↗ to learn more.

Adding Properties to Custom Events

Section titled Adding Properties to Custom Events

Custom events can be enhanced with a set of properties that will correspond to the tracked event when passed into the CSQ.trackEvent() API call.

import { CSQ } from "@contentsquare/react-native-bridge";
const properties = {
property1: "sample value",
property2: 10,
property3: false
}
CSQ.trackEvent("custom_event_with_properties", properties);

Adding Properties to All Events

Section titled Adding Properties to All Events

In some cases, you might want to add a property, or a collection of properties, to all events tracked by Product Analytics. Adding a global event property can be accomplished using CSQ.addEventProperties().

import { CSQ } from "@contentsquare/react-native-bridge";
const globalProperties = {
property1: "sample value",
property2: 10,
property3: false
}
CSQ.addEventProperties(globalProperties);

Properties that are added using the CSQ.addEventProperties() API will be attached to all events tracked by Product Analytics, including any events that are automatically tracked by a CSQ autocapture SDK.

Once a property is no longer needed in the global collection, use CSQ.removeEventProperty() to remove properties one at a time.

import { CSQ } from "@contentsquare/react-native-bridge";
CSQ.removeEventProperty("property1");

On the other hand, if you want to remove all properties added with CSQ.addEventProperties() at once, you can achieve this by using CSQ.clearEventProperties().

import { CSQ } from "@contentsquare/react-native-bridge";
CSQ.clearEventProperties();