# Timezones

Timezones can sometimes be tricky, especially when working with global teams and customers. In Open Loyalty, we’ve designed our system to make sure that all date and time-related data stays accurate and consistent, no matter where you are in the world.

Here’s what you need to know:

***

### 🕓 1. Timezone is Set per Tenant

Each tenant in Open Loyalty has a specific timezone assigned.\
You can view or update it in the **Settings > Tenants** section.

This setting affects how all dates and times are saved, displayed, and calculated across the platform.

<a href="../../main-features/settings/tenants#timezone" class="button secondary">Tenants Settings</a>

***

### 📩 2. Events Save Times with Tenant’s Timezone

Every event you send to Open Loyalty, such as transactions or custom events, is stored with a timestamp that includes the tenant's timezone offset.

For example:

* If your tenant's timezone is **Europe/Berlin** (which is **CEST**, UTC+02:00),
* and you send an event with this timestamp:\
  `2025-05-13T14:40:10`
* Open Loyalty will store it as:\
  `2025-05-13T14:40:10+02:00`

The `+02:00` at the end shows the offset from UTC.

{% hint style="warning" %}
In this article, we include the example of Berlin timezone set to **UTC+02:00** during daylight saving.&#x20;

Please note that a different timezone offset may apply during other parts of the year, for example, **UTC+01:00** outside of daylight saving time.\
This behavior applies to all timezones that observe daylight saving.
{% endhint %}

***

### 🔁 3. What Happens When You Include Your Own Timezone

If you send an event **with a timezone specified**, Open Loyalty will convert it to the tenant’s timezone behind the scenes.

Example:

* You send: `2025-05-13T12:40:10Z` or `2025-05-13T12:40:10+00:00`  (UTC time)&#x20;
* Tenant timezone: Berlin (UTC+02:00)
* Open Loyalty will convert and store it as:\
  `2025-05-13T14:40:10+02:00`

This ensures consistency, all dates are aligned with the tenant’s settings.

***

### 🖥️ 4. Admin Panel Shows Times in Your Local Timezone

If you're using the Open Loyalty Admin Panel from a different timezone than the tenant’s, don’t worry -  we’ve got you covered.

The Admin Panel automatically adjusts the displayed time to **your browser’s local timezone**.

Example:

* Event happens at **2 PM in Berlin time**
* You’re in London (UTC+01:00)
* You’ll see it displayed as **1 PM**

This also applies to things like campaign start/end dates, member activity logs, and achievement records.

***

### 🎯 5. Campaigns & Achievements Use Tenant’s Timezone

Campaign rules and achievement triggers are based on the **tenant’s configured timezone**.

For example, if your tenant is set to **Los Angeles**, and your campaign is active from:

> **1 May, 00:00** → **31 May, 23:59** *(Los Angeles time)*

Then an event sent at:

> **31 May, 23:00 Pacific Time**

✅ **Will trigger the campaign** because it falls within the tenant’s date range.

However, if your tenant is set to **London time**, the same event:

> **31 May, 23:00 Pacific Time** = **1 June, 06:00 UTC**

⚠️ **Will not trigger the campaign**, as it falls outside the defined UTC date range.

**Always make sure your campaign timeframes align with your tenant’s timezone to avoid surprises.**

***

### ✅ Best Practices

* Always be aware of your **tenant’s timezone**.
* When sending events, you can either include the full timestamp with a timezone (e.g. `2025-05-13T12:40:10Z`) or provide a date without a timezone (e.g. `2025-05-13T14:40:10`).\
  In both cases, Open Loyalty will automatically store the event using the tenant's configured timezone, either by adding the correct offset or converting the datetime accordingly.
* **Remember**: what you see in the Admin Panel is based on **your** timezone, not the tenant’s.

***

Still have questions about how timezones work in Open Loyalty?\
Reach out to our support team - we're happy to help! ⏳
