> For the complete documentation index, see [llms.txt](https://docs.luciq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.luciq.ai/ios/setup-luciq-for-ios/custom-settings/user-identification/user-events.md).

# User Events

Configure user event tracking in your iOS app with Luciq. Log custom user actions and events to get richer context in bug reports and crash data.

You can log custom user events throughout your application. Custom events are automatically included with each report.

{% tabs %}
{% tab title="Swift" %}
{% code overflow="wrap" %}

```swift
Luciq.logUserEvent(withName: "Skipped Walkthrough")
```

{% endcode %}
{% endtab %}

{% tab title="Objective-C" %}
{% code overflow="wrap" %}

```objectivec
[Luciq logUserEventWithName:@"Skipped Walkthrough"];
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Logging User Events with Parameters

Starting from SDK version **19.8.0**, you can attach key-value parameters to a user event to capture additional context. Pass an array of `UserEventParam` instances alongside the event name.

{% tabs %}
{% tab title="Swift" %}
{% code overflow="wrap" %}

```swift
Luciq.logUserEvent(withName: "Completed Purchase", parameters: [
    UserEventParam(key: "item", value: "Premium Plan"),
    UserEventParam(key: "currency", value: "USD")
])
```

{% endcode %}
{% endtab %}

{% tab title="Objective-C" %}
{% code overflow="wrap" %}

```objectivec
[Luciq logUserEventWithName:@"Completed Purchase" parameters:@[
    [[LCQUserEventParam alloc] initWithKey:@"item" value:@"Premium Plan"],
    [[LCQUserEventParam alloc] initWithKey:@"currency" value:@"USD"]
]];
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}

#### Scope and behavior

* Keys are limited to 50 characters and values to 200 characters. Entries that are empty, exceed these limits, or repeat a key already added are dropped with a console error.
* Up to 15 parameters can be attached to an event by default. Reach out to Luciq support if your account needs a higher limit.
* Logging additional parameters for the same event name merges them into the existing set using first-wins semantics — an earlier value for a key is kept and the new value is dropped — and the merged set is still capped at the configured limit.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.luciq.ai/ios/setup-luciq-for-ios/custom-settings/user-identification/user-events.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
