> For the complete documentation index, see [llms.txt](https://help.openloyalty.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.openloyalty.io/technical-guide/data-exports/data-structure-and-types/members.md).

# Members

The Members file contains information about all your loyalty program's members.

{% hint style="info" %}
**Delta export.** Each daily file contains member profiles created or updated during that day. Upsert on `memberId` and keep the row with the latest `updatedAt`.
{% endhint %}

**File:** `analytics/Members/members_YYYY_MM_DD.csv`\
**Primary key:** `memberId`

A sample file is provided below:

{% file src="/files/Llk4DtS1wxd3Xk6D7p3P" %}

**Available Data:**

<table><thead><tr><th width="176.85546875">Column</th><th width="131.30859375">Type</th><th width="149.7109375">Can be empty</th><th>Description</th></tr></thead><tbody><tr><td><code>memberId</code></td><td>uuid</td><td>No</td><td>Unique member ID</td></tr><tr><td><code>tenantId</code></td><td>uuid</td><td>No</td><td>ID of the tenant where the member was created</td></tr><tr><td><code>active</code></td><td>boolean</td><td>Empty = false</td><td>Whether the member is active</td></tr><tr><td><code>channelId</code></td><td>—</td><td>—</td><td>ID of the assigned channel</td></tr><tr><td><code>channelIdentifier</code></td><td>—</td><td>—</td><td>Identifier of the assigned channel</td></tr><tr><td><code>firstName</code></td><td>string</td><td>Yes</td><td>Member's first name</td></tr><tr><td><code>lastName</code></td><td>string</td><td>Yes</td><td>Member's last name</td></tr><tr><td><code>gender</code></td><td>—</td><td>—</td><td>Member's gender</td></tr><tr><td><code>email</code></td><td>string</td><td>Yes</td><td>Member's email address</td></tr><tr><td><code>phone</code></td><td>string</td><td>Yes</td><td>Member's phone number</td></tr><tr><td><code>birthDate</code></td><td>—</td><td>—</td><td>Member's date of birth</td></tr><tr><td><code>lastLevelRecalculation</code></td><td>—</td><td>—</td><td>Date of the member's last tier recalculation</td></tr><tr><td><code>address</code></td><td>—</td><td>—</td><td>Member's address details</td></tr><tr><td><code>loyaltyCardNumber</code></td><td>—</td><td>—</td><td>Member's loyalty card number</td></tr><tr><td><code>createdAt</code></td><td>datetime</td><td>No</td><td>Date when the member was created</td></tr><tr><td><code>updatedAt</code></td><td>datetime</td><td>No</td><td>Date when the member was last updated</td></tr><tr><td><code>levelId</code></td><td>—</td><td>—</td><td>ID of the member's tier</td></tr><tr><td><code>manuallyAssignedLevelId</code></td><td>—</td><td>—</td><td>ID of the manually assigned tier</td></tr><tr><td><code>agreement1</code></td><td>—</td><td>—</td><td>Whether the member accepted the basic legal agreement</td></tr><tr><td><code>agreement2</code></td><td>—</td><td>—</td><td>Whether the member accepted the marketing agreement</td></tr><tr><td><code>agreement3</code></td><td>—</td><td>—</td><td>Whether the member accepted the data-processing agreement</td></tr><tr><td><code>company</code></td><td>—</td><td>—</td><td>Member's company details</td></tr><tr><td><code>transactionsCount</code></td><td>—</td><td>—</td><td>Number of member transactions</td></tr><tr><td><code>transactionsAmount</code></td><td>—</td><td>—</td><td>Total gross value of member transactions</td></tr><tr><td><code>transactionsAmountWithoutDeliveryCosts</code></td><td>—</td><td>—</td><td>Total transaction value without delivery costs</td></tr><tr><td><code>transactionsAmountExcludedForLevel</code></td><td>—</td><td>—</td><td>Transaction value excluded from tier calculations</td></tr><tr><td><code>averageTransactionAmount</code></td><td>—</td><td>—</td><td>Average value of member transactions</td></tr><tr><td><code>lastTransactionDate</code></td><td>—</td><td>—</td><td>Date of the last member transaction</td></tr><tr><td><code>firstTransactionDate</code></td><td>—</td><td>—</td><td>Date of the first member transaction</td></tr><tr><td><code>levelAchievementDate</code></td><td>—</td><td>—</td><td>Date of the last tier upgrade or downgrade</td></tr><tr><td><code>referrerMemberId</code></td><td>—</td><td>—</td><td>Member ID of the referrer</td></tr><tr><td><code>labels</code></td><td>—</td><td>—</td><td>Custom attributes set for the member</td></tr><tr><td><code>anonymized</code></td><td>—</td><td>—</td><td>Whether the member data has been anonymized</td></tr><tr><td><code>referralToken</code></td><td>—</td><td>—</td><td>Unique member referral token</td></tr><tr><td><code>currency</code></td><td>string</td><td>Yes</td><td>Currency used for member transactions</td></tr><tr><td><code>storeCode</code></td><td>—</td><td>—</td><td>Code of the tenant where the member was created</td></tr><tr><td><code>currentLevel</code></td><td>—</td><td>—</td><td>ID and name of the member's tier</td></tr><tr><td><code>registeredAt</code></td><td>—</td><td>—</td><td>Registration date. Defaults to <code>createdAt</code> when omitted.</td></tr><tr><td><code>deletedAt</code></td><td>datetime</td><td>Yes</td><td>Date when the member was deleted</td></tr><tr><td><code>customFields</code></td><td>json object</td><td>Yes</td><td>Values of profile custom fields</td></tr><tr><td><code>defaultAccount</code></td><td>json object</td><td>Yes</td><td>Default wallet balance: <code>accountId</code>, <code>activePoints</code>, <code>earnedPoints</code>, <code>spentPoints</code>, <code>lockedPoints</code>, <code>expiredPoints</code>, <code>blockedPoints</code>, and <code>transferredPoints</code></td></tr></tbody></table>

{% hint style="warning" %}
**Deleted members** are not exported by default. If you want to have it enabled for your environment, please contact Open Loyalty support team.
{% endhint %}

{% hint style="danger" %}
**`defaultAccount`, `currentLevel`, and the `transactions*` aggregates are captured when the member row is exported.** A balance change or a new transaction does not by itself put the member into the next day's file, so these values can be several days old. For balances across **every wallet**, use the Wallet Balance snapshot. For tier changes, use Member Tier Changes.
{% 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://help.openloyalty.io/technical-guide/data-exports/data-structure-and-types/members.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.
