DashForDevsDocs
DocsNewsAPI v1
dashfordevs.comSign in

© 2026 DashForDevs

DocsNewsdashfordevs.comLegalStatus
DocsCustomersCustom Fields
Introduction
Getting Started
Authentication
Products
Categories
Cart
Checkout
Blog
Reviews
Webhooks
Customers
Get CustomerUpdate CustomerCustom FieldsTags & SegmentsCustomer PointsCustomer AddressesCustomer Orders
Orders
Inventory
Shipping
Discounts
Affiliates
Email
Media & Files
Analytics & Tracking
Locations
Tax
Global Data
SEO
Error Handling
Geography
Finance
Automations
Page Types
Surveys
Billing & Subscriptions
Storefront Payments
SDK Reference
REST API
Storefront Architecture
Notifications
Security
Team & Permissions
Migrations & Import
Calendar & Appointments
Contact Forms
AI Bots
Dashboard API
Deployment
Changelog
Troubleshooting
Recipes
CLI & Deployment
Image Pipeline
White-label Platforms
Records Engine
Platform Modules
Platform Security
Site Keys & Client Sites
Use Cases
Operations

Custom Fields

Add and manage custom metadata fields on customers.

Updated March 29, 2026

On this page
  • Overview
  • SDK Usage
  • Metadata Merge Behavior
  • Use Cases
  • REST API
  • Next Steps

Overview

Store arbitrary key-value metadata on customer profiles. Use this for preferences, notes, or any custom data your storefront needs.

SDK Usage

typescript
import dash from "@/lib/dash"

// Set/update metadata
const { customer } = await dash.auth.updateMetadata({
  preferred_strain: "indica",
  birthday: "1990-05-15",
  referral_source: "instagram",
  custom_note: "Prefers discreet packaging",
})

// Read metadata
const { customer } = await dash.auth.getProfile()
console.log(customer.metadata.preferred_strain) // "indica"

Metadata Merge Behavior

Metadata updates are merged, not replaced. Only the keys you send are updated:

typescript
// Existing: { preferred_strain: "indica", birthday: "1990-05-15" }

await dash.auth.updateMetadata({ favorite_product: "Blue Dream" })
// Result: { preferred_strain: "indica", birthday: "1990-05-15", favorite_product: "Blue Dream" }

To remove a key, set it to null.

Use Cases

  • User preferences — Strain type, flavor preferences, dosage
  • Marketing data — Referral source, campaign tags
  • Personalization — Birthday for discount emails, custom notes
  • Custom segmentation — VIP status, customer tier notes

REST API

shell
POST /storefront/auth/profile
Authorization: Bearer {access_token}
Content-Type: application/json

{ "metadata": { "preferred_strain": "indica", "birthday": "1990-05-15" } }

Next Steps

  • Tags & Segments — Grouping customers
  • Get Customer — Reading the full profile
PreviousUpdate CustomerNextTags & Segments

On this page

  • Overview
  • SDK Usage
  • Metadata Merge Behavior
  • Use Cases
  • REST API
  • Next Steps