> ## 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.

# Track Customer Events

> Send customer events from your iOS app to Gameball

Start sending your customer's **events** on your app or platform to Gameball, along with any **metadata** that describes the event. Depending on your Gameball programs configuration, the customer can be rewarded based on the sent events.

Every `Track Event` call records a single customer action. We call these "**events**". We recommend that you make your event names human-readable, so that everyone can know what they mean instantly.

**Event metadata** are extra pieces of information you can tie to events you track. They can be anything that will be useful while designing your program.

Tracked **events** can be app events or server-side events depending on how you would like to design your programs. App events can be sent to Gameball via the methods available in the SDK below. For server-side events you can use [Track Events API](/api-reference/events/send-events).

To send Customer events from your app to Gameball, you can use the **`sendEvents`** method that takes array of **`Event`** which takes **`eventName string`** and **`parameters dictionary`** to be sent with the event.

## Send Events Example

```swift theme={null}
let events: [Event] = [
    Event(eventName: "coin_purchase", params: ["price": "100", "currency": "USD"]),
    Event(eventName: "click_X_screen", params: ["screen_name": "X_Y_Z", "source": "A_B_C"]),
]
gameball?.sendEvents(
    playerUniqueId: "CUST_ID",
    events: events
)
```

## Next Steps

* [Track Orders & Cashback](/installation-guides/v2/ios/track-orders)
* [Integrate Redemption](/installation-guides/v2/ios/integrate-redemption)
