# User interactions

> Current Froomle documentation · [View canonical page](https://docs.froomle.com/froomle-doc-main/v2/guide/user-interactions.html)

<a id="_preparation"></a>

## Preparation

This step connects Froomle with user interaction data, letting the recommendation engine learn from behavioral and engagement data. Examples of user interactions that lead to an event are when a user opens an article detail page, clicks on a recommendation or purchases a product or subscription. We give a brief overview of integration approaches and available events.

<a id="_main_stakeholder"></a>

## Main stakeholder

-   Customer data/tracking owner (supported by integration developers).
    

<a id="_results"></a>

## Results

-   Decision made on which events to send.
    
-   Event integration method selected.
    
-   Privacy concerns clarified.
    

<a id="_choose_an_event_integration_method"></a>

## Choose an event integration method

The event contract is the same for both methods, but implementation ownership differs.

| Method | Choose this when | Start here |
| --- | --- | --- |
| **1\. Frontend SDK (recommended for browser/web)** | You use declarative markup, JavaScript/TypeScript, or React and want the SDK to manage supported page and recommendation events. | [Event Tracking with the Frontend SDK](https://docs.froomle.com/froomle-doc-main/v2/js_lib/jslib.html#EventTracking) |
| **2\. Manual / custom integration** | You send events from a backend, mobile app, custom browser implementation, Pub/Sub stream, or SFTP export. | [Manual Event Integration](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/events.html) |

<a id="_manual_delivery_channels"></a>

### Manual delivery channels

**Events API:** Use the [Events API integration](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/events.html#ManualEventsApi) for real-time browser, mobile, or backend delivery.

**Pub/Sub:** Use the [Pub/Sub integration](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/events.html#ManualPubSub) when Froomle has provisioned a streaming connection.

**SFTP:** Use the [SFTP integration](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/events.html#ManualSftp) for non-time-sensitive and historical events.

Use [Event Model and Tracking Contract](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html) to decide what each event means, independently of the chosen method.

<a id="_decide_which_events_to_send"></a>

## Decide which events to send

> **IMPORTANT:**
> 
> Rollout sequencing matters:
> 
> -   Implement page/business events first, such as `page_visit`, `detail_pageview`, and any applicable commerce or interaction events.
>     
> -   Implement recommendation-attribution events such as `impression` and `click_on_recommendation` when the recommendation placements themselves exist.
>     
> -   For overall go-live quality, both event groups matter, but they do not need to be implemented in the same development phase.
>     

The following table lists all available event types in the Froomle specification, organized by go-live priority and use case.

-   Priority — Event — Description
-   **Must before recommendation placements go live**
    
    —
    
    [page\_visit](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#page-visit)
    
    —
    
    Generic view event, not related to an item. Essential for analytics and typically implemented before recommendation placements go live.
    
-   **[detail\_pageview](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#detail-pageview)**
    
    —
    
    Sent when a user views a specific item’s detail page, essential for algorithm training and typically implemented before recommendation placements go live.
    
-   **Must for live recommendation placements**
    
    —
    
    [impression](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#impression)
    
    —
    
    Records that a user has seen a recommended item. This is required once recommendation placements are live.
    
-   **[click\_on\_recommendation](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#click-on-recommendation)**
    
    —
    
    Tracks which (Froomle) recommendations are clicked. This is required whenever a live recommendation placement is clicked.
    
-   **Could have**
    
    —
    
    [start\_subscription](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#start-subscription)
    
    —
    
    Tracks when a user converts to a paid or registered subscription tier.
    
-   **[item\_interaction](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#item-interaction)**
    
    —
    
    For actions like "save to wishlist," "like," or "share" on a specific item.
    
-   **Other available events**
    
    —
    
    [user\_interaction](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#user-interaction)
    
    —
    
    General interactions not tied to a specific catalog item.
    
-   **[cancel\_subscription](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#cancel-subscription)**
    
    —
    
    Tracks churn events to help build better retention models.
    
-   **[checkpoint](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#checkpoint)**
    
    —
    
    A custom marker for reaching specific milestones in a user flow.
    
-   **[add\_to\_cart](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#add-to-cart)**
    
    —
    
    Standard e-commerce event for adding items to the basket.
    
-   **[remove\_from\_cart](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#remove-from-cart)**
    
    —
    
    Tracks items removed from the basket for intent analysis.
    
-   **Batch processing events**
    
    —
    
    [batch\_open](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#batch-open)
    
    —
    
    Recorded when a user opens an email or message containing batch recommendations.
    
-   **[batch\_click\_on\_recommendation](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#batch-click-on-recommendation)**
    
    —
    
    A click originating from a batch-delivered module (e.g., e-mail).
    
-   **[batch\_impression](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#batch-impression)**
    
    —
    
    Confirms the user viewed a batch-delivered placement.
    
-   **[purchase](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html#purchase)**
    
    —
    
    The final conversion event, linking a user to the items they actually bought.
    

For event semantics and shared payload rules, see [Event Model and Tracking Contract](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html). For exact API fields, see the [Events API Reference](https://docs.froomle.com/froomle-doc-main/v2/api_reference/events/events_api.html).

<a id="_next_step"></a>

## Next step

Continue with [Getting recommendations](https://docs.froomle.com/froomle-doc-main/v2/guide/getting-recommendations.html).
