Reteno's ecommerce tracking allows you to understand customer behavior and use this data for analytics and automation.
This guide shows how to track ecommerce activity in your React Native application using specific logging methods from the SDK.
JavaScript
import {
logEcomEventProductViewed,
logEcomEventProductCategoryViewed,
logEcomEventProductAddedToWishlist,
logEcomEventCartUpdated,
logEcomEventOrderCreated,
logEcomEventOrderUpdated,
logEcomEventOrderDelivered,
logEcomEventOrderCancelled,
logEcomEventSearchRequest,
} from "reteno-react-native-sdk";
Function When to use it logEcomEventProductViewedUser opens a product card logEcomEventProductCategoryViewedUser opens a category or listing page logEcomEventProductAddedToWishlistUser adds a product to wishlist logEcomEventCartUpdatedCart items changed (add / remove / quantity update) logEcomEventOrderCreatedNew order is created logEcomEventOrderUpdatedOrder is updated after creation logEcomEventOrderDeliveredOrder marked as DELIVERED logEcomEventOrderCancelledOrder marked as CANCELLED logEcomEventSearchRequestUser performs a search query
Construct the appropriate payload object.
Pass it to the corresponding log function.
Await the result.
JavaScript
await logEcomEventProductViewed({
product: {
productId: "PRODUCT_ID",
price: 99.99,
isInStock: true,
attributes: [
{ name: "color", value: ["red"] },
{ name: "size", value: ["M"] },
],
},
currencyCode: "USD",
});
JavaScript
await logEcomEventProductViewed({
product: {
productId: "123",
price: 29.99,
isInStock: true,
attributes: [{ name: "color", value: ["blue", "white"] }],
},
currencyCode: "EUR",
});
Field Type Description product EcomProductViewRequired product object currencyCode string?Optional ISO‑4217 code (e.g. USD, EUR)
JavaScript
await logEcomEventProductCategoryViewed({
category: {
productCategoryId: "CATEGORY_01",
attributes: [{ name: "gender", value: ["women"] }],
},
});
Field Type Description productCategoryId stringRequired category identifier attributes EcomAttribute[]?Optional metadata fields
JavaScript
await logEcomEventProductAddedToWishlist({
product: {
productId: "abc",
price: 59.99,
isInStock: true,
attributes: [],
},
currencyCode: "UAH",
});
Same structure as Product Viewed .
JavaScript
await logEcomEventCartUpdated({
cartId: "CART-123",
cartItems: [
{
productId: "p1",
quantity: 2,
price: 25.0,
discount: 5.0,
},
{
productId: "p2",
quantity: 1,
price: 100.0,
},
],
currencyCode: "USD",
});
Field Type Description cartId stringShopping cart ID cartItems EcomCartItem[]Array of cart item details currencyCode string?Optional currency
JavaScript
await logEcomEventOrderCreated({
order: {
externalOrderId: "ORDER-999",
totalCost: 200,
status: OrderStatus.Initialized,
cartId: "CART-123",
externalCustomerId: "user-001",
},
currencyCode: "USD",
});
Field Type Description externalOrderId stringYour system's order ID totalCost numberTotal amount charged status OrderStatusOne of: Initialized, InProgress, Delivered, Cancelled cartId string?Related cart ID (optional) currencyCode string?ISO‑4217 currency code
JavaScript
await logEcomEventOrderDelivered({ externalOrderId: "ORDER-999" });
await logEcomEventOrderCancelled({ externalOrderId: "ORDER-999" });
JavaScript
await logEcomEventSearchRequest({
searchQuery: "running shoes",
isFound: true,
});
Field Type Description searchQuery stringWhat the user searched for isFound booleanWhether results were found
Always use valid ISO‑4217 currency codes:
If no code is provided, your organization's default will be used.