Events

Prev Next

Below, you can see a list of default mobile events along with their method signatures and examples:

Your title goes here
While Insider automatically triggers SDK events, the other event types need to be implemented by customers.

SDK events

Session events are automatically triggered based on user actions on the application and campaigns and do not require customer configuration.

EventHow does it work?
Mobile App OpenedTriggered when the app is opened
Session StartTriggered every time a session starts
Session Start From PushTriggered if a session starts upon a click on a push notification triggered from an app template. Test pushes do not trigger this event.
Push SessionTriggered if a session starts upon a click on a push notification. Test pushes do not trigger this event.
Push DeliveredTriggered when a push is delivered
App Push OpenedTriggered when an app push is opened
InApp SeenTriggered when an inApp is seen along with the inApp ID and variant ID information
Mobile Social Proof SeenTriggered when a social proof is seen

Page visit events

You should trigger the page visit events when a user visits the respective page type in the application. The default page visit events include the Homepage View, Listing Page View, Product Detail Page View, Cart Page View, and Confirmation Page View. See below for their method signatures and examples.

Your title goes here
If you want to trigger any event for any other type of page (e.g., test drive form page, discounts page, etc.), you should define a custom event on the Test Lab.

Homepage View

This method allows you to tag the visits on your homepage as an event. You can call this method each time a user visits your homepage.

Method Signature

public void visitHomePage()
fun visitHomePage()

Method Example

visitHomePage()

visitHomePage(Map<String, ?> customParameters)

This method allows you to tag your Homepage as an event with custom parameters. You can call this method whenever a user visits your HomePage. This method tracks the homepage visit event and includes any custom parameters you provide.

ParameterTypeDescription
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void visitHomePage(Map<String, ?> customParameters)
fun visitHomePage(customParameters: Map<String, *>?)

Method example

Map<String, Object> customParams = new HashMap<>();
customParams.put("source", "demo");
customParams.put("campaign_id", "campaign_123");
customParams.put("page_number", 1);
Insider.Instance.visitHomePage(customParams);
val customParams = mapOf(
    "source" to "demo",
    "campaign_id" to "campaign_123",
    "page_number" to 1
)
Insider.Instance.visitHomePage(customParams)

Custom parameters are optional and can be null or empty.

Listing Page View

This method allows you to tag the visits on your listing page as an event. You can call this method each time a user visits your listing page along with the following event parameters: taxonomy, type, referrer, key, show_on_segment, is_pii, device_type, url, and source.

ParameterData Type
taxonomyArray of string
Your title goes here
This event will be ignored if you pass any nil/null or empty parameter to this method.

Method Signature

public void visitListingPage(String[] taxonomy)
fun visitListingPage(String[] taxonomy)

Method Example

String[] taxonomy = {"taxonomy1", "taxonomy2", "taxonomy3"};
Insider.Instance.visitListingPage(taxonomy);

visitListingPage(String[] taxonomy, Map<String, ?> customParameters)

This method allows you to tag your ListingPage as an event with custom parameters. You can call this method whenever a user visits the ListingPage. This method tracks the listing page visit event with the provided taxonomy and includes any custom parameters.

ParameterTypeDescription
taxonomyString[]Taxonomy (category) of the product.
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void visitListingPage(String[] taxonomy, Map<String, ?> customParameters)
 fun visitListingPage(taxonomy: Array<String>?, customParameters: Map<String, *>?)

Method example

String[] taxonomy = {"Electronics", "Smartphones", "Samsung"};

Map<String, Object> customParams = new HashMap<>();
customParams.put("page_number", 1);
customParams.put("sort_by", "price");
customParams.put("filter_applied", true);
Insider.Instance.visitListingPage(taxonomy, customParams);
val taxonomy = arrayOf("Electronics", "Smartphones", "Samsung")

val customParams = mapOf(
    "page_number" to 1,
    "sort_by" to "price",
    "filter_applied" to true
)
Insider.Instance.visitListingPage(taxonomy, customParams)

If any parameter that is passed to this method is nil or an empty string, it will be ignored.

Product Detail Page View

This method allows you to tag the visits on your product page as an event. You can call this method each time a user visits your product page along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

This event is required for the Social Proof method.

ParameterData Type
productobject (Insider product object)
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void visitProductDetailPage(InsiderProduct product)
fun visitProductDetailPage(InsiderProduct product)

Method Example

Insider.Instance.visitProductDetailPage(insiderExampleProduct);

visitProductDetailPage(InsiderProduct product, Map<String, ?> customParameters)

This method allows you to tag your ProductDetailPage as an event with custom parameters. You can call this method whenever a user visits your ProductDetailPage. This method tracks the product detail page visit event and includes any custom parameters you provide.

ParameterTypeDescription
productInsiderProductThe InsiderProduct object
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void visitProductDetailPage(InsiderProduct product, Map<String, ?> customParameters)
fun visitProductDetailPage(product: InsiderProduct?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);

Map<String, Object> customParams = new HashMap<>();
customParams.put("source", "search");
customParams.put("campaign_id", "campaign_123");
customParams.put("recommendation_id", "rec_456");
Insider.Instance.visitProductDetailPage(product, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "source" to "search",
    "campaign_id" to "campaign_123",
    "recommendation_id" to "rec_456"
)
Insider.Instance.visitProductDetailPage(product, customParams)

If you pass an invalid InsiderProduct object to this method, it will be ignored.

Cart Page View

This method allows you to tag the visits on your cart page as an event. You can call this method each time a user visits your cart page, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

ParameterData Type
insiderProductArray of Insider product object
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void visitCartPage(InsiderProduct[] products)
fun visitCartPage(InsiderProduct[] products)

Method Example

Insider.Instance.visitCartPage(insiderExampleProducts);

visitCartPage(InsiderProduct[] products, Map<String, ?> customParameters)

This method allows you to tag your CartPage as an event with custom parameters. You can call this method whenever a user visits your CartPage, passing the products on the page. This method tracks the cart page visit event and includes any custom parameters you provide.

ParameterTypeDescription
insiderProductsInsiderProduct[]The array of InsiderProduct objects
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void visitCartPage(InsiderProduct[] products, Map<String, ?> customParameters)
fun visitCartPage(products: Array<InsiderProduct>?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);
InsiderProduct[] products = {product};

Map<String, Object> customParams = new HashMap<>();
customParams.put("cart_total", 99.99);
customParams.put("item_count", 1);
customParams.put("discount_applied", false);
Insider.Instance.visitCartPage(products, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "cart_total" to 99.99,
    "item_count" to 1,
    "discount_applied" to false
)
Insider.Instance.visitCartPage(arrayOf(product), customParams)

If you have any invalid InsiderProduct object inside the array, it will be ignored.

Wishlist Page View

This method allows you to tag the visits on your wishlist page as an event. You can call this method each time a user visits your wishlist page, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

ParameterData Type
insiderProductArray of Insider product object
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void visitWishlistPage(InsiderProduct[] products)
fun visitWishlistPage(InsiderProduct[] products)

Method Example

Insider.Instance.visitWishlistPage(insiderExampleProducts);

visitWishlistPage(InsiderProduct[] products, Map<String, ?> customParameters)

This method allows you to tag your Wishlist as an event with custom parameters. You can call this method each time a user visits your Wishlist, passing the products on the page. This method tracks the wishlist visit event and includes any custom parameters you provide.

ParameterTypeDescription
insiderProductsInsiderProduct[]The array of InsiderProduct objects
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void visitWishlistPage(InsiderProduct[] products, Map<String, ?> customParameters)
fun visitWishlistPage(products: Array<InsiderProduct>?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);
InsiderProduct[] products = {product};

Map<String, Object> customParams = new HashMap<>();
customParams.put("wishlist_total_items", 5);
customParams.put("wishlist_total_value", 500.0);

Insider.Instance.visitWishlistPage(products, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "wishlist_total_items" to 5,
    "wishlist_total_value" to 500.0
)
Insider.Instance.visitWishlistPage(arrayOf(product), customParams)

If you have any invalid InsiderProduct object inside the array, it will be ignored.

Confirmation Page View (Purchase)

This method allows you to tag the visits on your confirmation page as an event. You can call this method each time a user makes a purchase along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

This event is required for the Track Revenue method.

ParameterData Type
saleIDString
productObject (Insider product object)
Your title goes here
Make sure to call this event only on successful transactions that are completed with any payment method.
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void itemPurchased(String saleID, InsiderProduct product)
fun itemPurchased(String saleID, InsiderProduct product)

Method Example

Insider.Instance.itemPurchased("uniqueSaleID", insiderExampleProduct);

itemPurchased(String saleID, InsiderProduct product, Map<String, ?> customParameters)

This method allows you to track your sales and revenue with custom parameters. This method tracks a purchase event when a user completes a purchase. It records the sale ID, product information, and any custom parameters you provide.

ParameterTypeDescription
saleIDStringThe saleID (transactionID) of the sale
productInsiderProductThe InsiderProduct object
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void itemPurchased(String saleID, InsiderProduct product, Map<String, ?> customParameters)
fun itemPurchased(saleID: String?, product: InsiderProduct?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);

Map<String, Object> customParams = new HashMap<>();
customParams.put("payment_method", "credit_card");
customParams.put("discount_applied", true);
customParams.put("shipping_method", "express");
Insider.Instance.itemPurchased("sale_123", product, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "payment_method" to "credit_card",
    "discount_applied" to true,
    "shipping_method" to "express"
)
Insider.Instance.itemPurchased("sale_123", product, customParams)

If you pass an invalid InsiderProduct object to this method, it will be ignored. This method validates that saleID is not empty before processing.

Sign Up Confirmation

This method allows you to tag the visits on your sign-up confirmation page as an event. You can call this method each time a user signs up to your application.

Method Signature

public void signUpConfirmation()
fun signUpConfirmation()

Method Example

Insider.Instance.signUpConfirmation();

Cart events

You should trigger the cart events when a user takes the action for the respective type of cart moves in the application. The default cart events include the Item Added to Cart, Item Removed from Cart, and Cart Cleared. See below for their method signatures and examples.

Your title goes here
If you want to trigger any other cart-related event, you should define a custom event on the Test Lab.

Item Added to Cart (Add to Cart)

You can call this method whenever a user adds a product (Insider product object) to their cart, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

This event is required for the Cart Reminder method.

ParameterData Type
productObject (Insider product object)
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void itemAddedToCart(InsiderProduct product)
fun itemAddedToCart(InsiderProduct product)

Method Example

Insider.itemAddedToCart(with: insiderExampleProduct)

itemAddedToCart(InsiderProduct product, Map<String, ?> customParameters)

This method allows you to add an item to your cart with custom parameters. Call this method each time the user adds a product to their cart. This method tracks the add-to-cart event and includes any custom parameters you provide.

ParameterTypeDescription
productInsiderProductThe InsiderProduct object
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void itemAddedToCart(InsiderProduct product, Map<String, ?> customParameters)
 fun itemAddedToCart(product: InsiderProduct?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);

Map<String, Object> customParams = new HashMap<>();
customParams.put("quantity", 2);
customParams.put("source", "recommendation");
customParams.put("variant_id", "variant_123");
Insider.Instance.itemAddedToCart(product, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "quantity" to 2,
    "source" to "recommendation",
    "variant_id" to "variant_123"
)
Insider.Instance.itemAddedToCart(product, customParams)

If you pass an invalid InsiderProduct object to this method, it will be ignored.

Item Removed from Cart

You can call this method whenever a user removes a product (Insider product object) from their cart, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

This event is required for the Cart Reminder method.

ParameterData Type
productIDString
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void itemRemovedFromCart(String productID)
fun itemRemovedFromCart(String productID)

Method Example

Insider.Instance.itemRemovedFromCart("productID");

itemRemovedFromCart(String productID, Map<String, ?> customParameters)

This method removes an item from the cart with custom parameters. Call this method each time the user removes a product from their cart. This method tracks the remove-from-cart event and includes any custom parameters you provide.

ParameterTypeDescription
productIDStringThe identifier of the product that is being removed from the cart
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void itemRemovedFromCart(String productID, Map<String, ?> customParameters)
fun itemRemovedFromCart(productID: String?, customParameters: Map<String, *>?)

Method example

Map<String, Object> customParams = new HashMap<>();
customParams.put("reason", "out_of_stock");
customParams.put("cart_total_after", 0.0);
Insider.Instance.itemRemovedFromCart("demo_product_123", customParams);
val customParams = mapOf(
    "reason" to "out_of_stock",
    "cart_total_after" to 0.0
)
Insider.Instance.itemRemovedFromCart("demo_product_123", customParams)

Cart Cleared

You can call this method whenever a user removes all products from their cart or when the last Insider product object is removed from the cart.

This event is required for the Cart Reminder method.

Your title goes here
Make sure to consider all cases and methods a user can empty their cart.

Method Signature

public void cartCleared()
fun cartCleared()

Method Example

Insider.Instance.cartCleared();

cartCleared(Map<String, ?> customParameters)

This method clears all the items in the cart with custom parameters. Call this method when the user clears the cart or when the last item in the cart has been removed. This method tracks the cart cleared event and includes any custom parameters you provide.

ParameterTypeDescription
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void cartCleared(Map<String, ?> customParameters)
fun cartCleared(customParameters: Map<String, *>?)

Method example

Map<String, Object> customParams = new HashMap<>();
customParams.put("items_count_before", 3);
customParams.put("total_value_before", 150.0);
customParams.put("reason", "user_action");
Insider.Instance.cartCleared(customParams);
val customParams = mapOf(
    "items_count_before" to 3,
    "total_value_before" to 150.0,
    "reason" to "user_action"
)
Insider.Instance.cartCleared(customParams)

Wishlist events

You should trigger the wishlist events when a user takes the action for the respective type of wishlist moves in the application. The default wishlist events include the Item Added to Wishlist, Item Removed from Wishlist, and Wishlist Cleared. See below for their method signatures and examples.

Your title goes here
If you want to trigger any other wishlist-related event, you should define a custom event on the Test Lab.

Item Added to Wishlist (Add to Wishlist)

You can call this method whenever a user adds a product (Insider product object) to their wishlist, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

ParameterData Type
productObject (Insider product object)
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void itemAddedToWishlist(InsiderProduct product)
fun itemAddedToWishlist(InsiderProduct product)

Method Example

Insider.Instance.itemAddedToWishlist(insiderExampleProduct);

itemAddedToWishlist(InsiderProduct product, Map<String, ?> customParameters)

This method allows you to add an item to your wishlist with custom parameters. Call this method each time the user adds a product to their wishlist. This method tracks the add-to-wishlist event and includes any custom parameters you provide.

ParameterTypeDescription
productInsiderProductThe InsiderProduct object
customParametersMap<String, ?>Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void itemAddedToWishlist(InsiderProduct product, Map<String, ?> customParameters)
fun itemAddedToWishlist(product: InsiderProduct?, customParameters: Map<String, *>?)

Method example

InsiderProduct product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    new String[]{"Electronics", "Smartphones"},
    "https://example.com/image.jpg",
    99.99,
    "USD"
);

Map<String, Object> customParams = new HashMap<>();
customParams.put("source", "product_page");
customParams.put("recommendation_id", "rec_123");
customParams.put("wishlist_size", 5);
Insider.Instance.itemAddedToWishlist(product, customParams);
val product = Insider.Instance.createNewProduct(
    "demo_product_123",
    "Demo Product",
    arrayOf("Electronics", "Smartphones"),
    "https://example.com/image.jpg",
    99.99,
    "USD"
)

val customParams = mapOf(
    "source" to "product_page",
    "recommendation_id" to "rec_123",
    "wishlist_size" to 5
)
Insider.Instance.itemAddedToWishlist(product, customParams)

If you pass an invalid InsiderProduct object to this method, it will be ignored.

Item Removed from Wishlist

You can call this method whenever a user removes a product (Insider product object) from their wishlist, along with the following event parameters: product ID, name, taxonomy, imageURL, price, and currency.

ParameterData Type
productIDString
Your title goes here
This event requires the Insider product object to be integrated beforehand, along with its product ID, name, taxonomy, image URL, price, and currency attributes.

Method Signature

public void itemRemovedFromWishlist(String productID)
fun itemRemovedFromWishlist(String productID)

Method Example

Insider.Instance.itemRemovedFromWishlist("productID");

itemRemovedFromWishlist(String productID, Map<String, ?> customParameters)

This method removes an item from the wishlist with custom parameters. Call this method each time the user removes a product from their wishlist. This method tracks the remove-from-wishlist event and includes any custom parameters you provide.

ParameterTypeDescription
productIDStringThe identifier of the product that is being removed from the wishlist.
customParametersMap<String, ?>
Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void itemRemovedFromWishlist(String productID, Map<String, ?> customParameters)
fun itemRemovedFromWishlist(productID: String?, customParameters: Map<String, *>?)

Method example

Map<String, Object> customParams = new HashMap<>();
customParams.put("reason", "purchased");
customParams.put("wishlist_size_after", 4);
Insider.Instance.itemRemovedFromWishlist("demo_product_123", customParams);
val customParams = mapOf(
    "reason" to "purchased",
    "wishlist_size_after" to 4
)
Insider.Instance.itemRemovedFromWishlist("demo_product_123", customParams)

Wishlist Cleared

You can call this method whenever a user removes all products from their wishlist or when the last Insider product object is removed from the wishlist.

Your title goes here
Make sure to consider all cases and methods a user can empty their wishlist.

Method Signature

public void wishlistCleared()
fun wishlistCleared()

Method Example

Insider.Instance.wishlistCleared();

wishlistCleared(Map<String, ?> customParameters)

This method clears all the items in the wishlist with custom parameters. Call this method when the user clears the wishlist or when the last item in it is removed. The method tracks the wishlist cleared event and includes any custom parameters you provide.

ParameterTypeDescription
customParametersMap<String, ?>
Map of custom parameters to be added to the event. Can be null or empty.

Return value: void

Method signature

public void wishlistCleared(Map<String, ?> customParameters)
fun wishlistCleared(customParameters: Map<String, *>?)

Method example

Map<String, Object> customParams = new HashMap<>();
customParams.put("items_count_before", 10);
customParams.put("reason", "user_action");
Insider.Instance.wishlistCleared(customParams);
val customParams = mapOf(
    "items_count_before" to 10,
    "reason" to "user_action"
)
Insider.Instance.wishlistCleared(customParams)