> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gameball.co/llms.txt
> Use this file to discover all available pages before exploring further.

# What Is Events You Can Create for Your E-Commerce Website?

> A quick guide on what customer events and key operators your platform can send to Gameball.

Are you looking for the most valuable customer events to track on your e-commerce website using Gameball? Below are six essential examples of events you can track to build a highly engaging, action-based loyalty program.

<CardGroup cols={2}>
  <Card title="Understand Customer Events" icon="bolt" href="/product-documentation/understanding-your-customers/customer-profile/customer-events">
    Learn how customer events are tracked and used within Gameball.
  </Card>

  <Card title="Manage Customer Events" icon="gear" href="/product-documentation/admin-settings/create-and-send-events">
    Configure and send custom events to your Gameball loyalty program.
  </Card>
</CardGroup>

***

## Section 1: Standard E-Commerce Events

The following events are the foundation for tracking key customer interactions on your e-commerce website. These events will allow you to build more personalized campaigns, track conversions, and improve customer engagement.

| **Event**               | **Description**                                                                                              | **Event Properties**                                                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Product Page Viewed** | Triggered each time a customer views a product details page.                                                 | `product_id`, `product_name`, `category`, `brand`, `price`, `currency`, `discounted` (boolean), `stock_status`, `tags`                               |
| **Cart Viewed**         | Triggered when a customer views their cart.                                                                  | `cart_id`, `cart_items` (array with product IDs, names, quantities, prices, categories), `cart_total`, `currency`                                    |
| **Order Reviewed**      | Sent when a customer reviews their order before checkout.                                                    | `order_id`, `cart_id`, `items` (array with product IDs, names, quantities, prices, categories), `cart_total`, `currency`, `coupon_code` (if applied) |
| **Product Reviewed**    | Sent when a customer submits a product review.                                                               | `product_id`, `rating`, `title` (optional), `body` (optional), `has_image` (boolean), `review_images` (array of URLs if available)                   |
| **Profile Completed**   | Triggered once a customer completes their profile (adds missing details such as name, phone, address, etc.). | `customer_id`, `completed_fields` (array of fields completed), `profile_completion_percentage`                                                       |
| **Order Placed**        | Triggered when a customer completes a purchase.                                                              | `order_id`, `cart_id` (or `session_id`), `items`, `total`, `currency`, `coupon_code` (if applicable), `payment_method`, `shipping_method`            |

<Warning>There is **no need** to send the *Order Placed* event if you are already using Gameball's Order API, as the **Order Placed** event will be fired automatically by Gameball.</Warning>

<AccordionGroup>
  <Accordion title="Important Notes on Standard Events" icon="circle-info">
    * The suggested keys below are examples. Feel free to modify or add new keys based on your platform's structure and needs.
    * You can add more event properties as long as you have use cases for them in segmentation, campaigns, or analytics.
    * **Performance Optimization Tip:** Avoid sending unnecessary events to maintain the best performance for your system.
  </Accordion>
</AccordionGroup>

***

## Section 2: Abandoned Cart Checkout Events

To enable abandoned cart campaigns, implement the following events. Note that **Add to Cart** and **Remove from Cart** are **not needed** — instead, use the consolidated events below:

| **Event**            | **Description**                                                                                                                                                                     | **Event Properties**                                                                                                                                       |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cart Updated**     | Sent every time a user adds, removes, or updates items in their cart. Keeps Gameball updated with the latest cart status.                                                           | `cart_id` (string, required), `cart_items` (array with product IDs, names, quantities, prices, categories), `cart_total`, `currency`, `last_updated_at`    |
| **Checkout Started** | Sent when the user begins the checkout process. Helps differentiate between cart abandonment (never reached checkout) and checkout abandonment (left during checkout).              | `cart_id` (string, required), `cart_items`, `cart_total`, `currency`, `checkout_metadata` (optional: payment\_method, shipping\_method, delivery\_address) |
| **Order Placed**     | Automatically fired once Gameball receives the Order API call. Ensure the event includes either the `session_id` or `cart_id` so that Gameball can link the order back to the cart. | `order_id`, `cart_id` or `session_id`, `items`, `total`, `currency`, `payment_method`, `shipping_method`                                                   |

<Warning>There is **no need** to send the *Order Placed* event if you are already using Gameball's Order API, as the **Order Placed** event will be fired automatically by Gameball.</Warning>

<Note>You can add more event properties as long as you have use cases for them in segmentation, campaigns, or analytics.</Note>

***

## Related Articles

<CardGroup cols={2}>
  <Card title="Create and Send Events to Gameball" icon="paper-plane" href="/product-documentation/admin-settings/create-and-send-events">
    Configure and dispatch custom events from your platform to Gameball.
  </Card>

  <Card title="Events Log" icon="list" href="/product-documentation/admin-settings/events-log">
    Review the full history of events received and processed by Gameball.
  </Card>

  <Card title="Event-Based Reward Campaigns" icon="trophy" href="/product-documentation/rewards-campaigns/faqs/using-the-event-engine">
    Build reward campaigns triggered by specific customer events.
  </Card>

  <Card title="Automatically Fired Events" icon="bolt" href="/product-documentation/guides-strategies-faqs/supportive-guides/automatic-events">
    See the full list of events Gameball fires automatically across platforms.
  </Card>
</CardGroup>
