# customer.updated

## `customer.updated`

#### Payload Structure

```js
{
  "payload": {
    "newData": {
      "accountState": "ENABLED",
      "lastCreditRedemptionAt": null,
      "lastName": "inveterate",
      "notes": null,
      "anonymized": false,
      "createdAt": "2025-05-25T00:27:56.503Z",
      "revenue": 102.32,
      "merchantId": "inveterate",
      "paymentId": null,
      "referrals": 0,
      "customerId": "22978031812972",
      "credit": 10,
      "email": "inveterate@gmail.com",
      "updatedAt": "2025-05-25T00:27:59.220Z",
      "joinedAt": "2025-05-25T00:27:52Z",
      "trigger": "PAID_SUBSCRIPTION",
      "firstName": "inveterate",
      "creditsEarned": 10,
      "phoneNumber": "+16416805498",
      "referredBy": null,
      "contractId": 82559795564,
      "lastPurchaseAt": "2025-06-12T12:40:44.819Z",
      "currencyCode": "USD",
      "freeTrialActive": false,
      "status": "ACTIVE",
      "tierId": "c560bce7",
      "tierName": "PAID"
    },
    "oldData": {
      "accountState": "ENABLED",
      "lastCreditRedemptionAt": null,
      "lastName": "inveterate",
      "notes": null,
      "anonymized": false,
      "spendingProcess": {
        "time": "2025-06-12T12:40:44.819Z",
        "status": "ACTIVE"
      },
      "createdAt": "2025-05-25T00:27:56.503Z",
      "revenue": 102.32,
      "merchantId": "inveterate",
      "paymentId": null,
      "referrals": 0,
      "customerId": "22978031812972",
      "credit": 10,
      "email": "inveterate@gmail.com",
      "updatedAt": "2025-05-25T00:27:59.220Z",
      "joinedAt": "2025-05-25T00:27:52Z",
      "trigger": "PAID_SUBSCRIPTION",
      "firstName": "inveterate",
      "creditsEarned": 10,
      "phoneNumber": "+16416805498",
      "referredBy": null,
      "contractId": 82559795564,
      "lastPurchaseAt": "2025-06-12T12:40:44.819Z",
      "currencyCode": "USD",
      "freeTrialActive": false,
      "status": "ACTIVE",
      "tierId": "c560bce7",
      "tierName": "PAID"
    }
  },
  "metadata": {
    "id": "056f9ad3c189f9897e893c8477fce1f6",
    "retryCount": 0,
    "shopDomain": "inveterate.myshopify.com",
    "topic": "customer.updated",
    "version": "2025-06",
    "triggerredAt": "2025-06-12T12:40:46.309Z"
  }
}
```

#### Payload Fields

**payload**

* `newData` (object): Updated customer data
  * `accountState` (string): Current state of the account (e.g., "ENABLED")
  * `lastCreditRedemptionAt` (string|null): ISO timestamp of last credit redemption
  * `lastName` (string): Customer's last name
  * `notes` (string|null): Additional notes about the customer
  * `anonymized` (boolean): Whether the customer data is anonymized
  * `createdAt` (string): ISO timestamp when the customer was created
  * `revenue` (number): Total revenue from the customer
  * `merchantId` (string): Merchant identifier
  * `paymentId` (string|null): Payment identifier
  * `referrals` (number): Number of referrals made by the customer
  * `customerId` (string): Customer identifier
  * `credit` (number): Available credit amount
  * `email` (string): Customer's email address
  * `updatedAt` (string): ISO timestamp when the customer was last updated
  * `joinedAt` (string): ISO timestamp when the customer joined
  * `trigger` (string): Trigger type (e.g., "PAID\_SUBSCRIPTION")
  * `firstName` (string): Customer's first name
  * `creditsEarned` (number): Total credits earned by the customer
  * `phoneNumber` (string): Customer's phone number
  * `referredBy` (string|null): Identifier of the customer who referred this customer
  * `contractId` (number): Contract identifier
  * `lastPurchaseAt` (string): ISO timestamp of last purchase
  * `currencyCode` (string): Currency code (e.g., "USD")
  * `freeTrialActive` (boolean): Whether the customer has an active free trial
  * `status` (string): Customer status (e.g., "ACTIVE")
  * `tierId` (string): Membership tier identifier
  * `tierName` (string): Name of the membership tier
* `oldData` (object): Previous customer data before the update
  * Contains the same fields as `newData`
  * May include additional fields like `spendingProcess` that were removed in the update

**metadata**

* `id` (string): Unique event identifier
* `retryCount` (number): Number of retry attempts for this event
* `shopDomain` (string): Shopify domain of the merchant
* `topic` (string): Event topic name
* `version` (string): API version
* `triggerredAt` (string): ISO timestamp when the event was triggered
