Home

Shopify Metafields & Metaobjects Overview

memberr uses Shopify's metafields and metaobjects to store and manage various types of data. This documentation provides a comprehensive overview of how these systems work together.

Quick Navigation

Metafields

Metafields store simple, single-value data points:

Metafield ContextDescription
Shop MetafieldsOrganization settings and configuration
Customer MetafieldsCustomer-specific data like balances and membership status

Metaobjects

Metaobjects store complex, structured data that of multiple fields:

Metafield ContextDescription
MembershipsMembership tiers and their benefits
Birthday Reward ProgramBirthday rewards configuration
Cashback ProgramCashback rewards settings
Referral ProgramReferral system configuration
Review Reward ProgramReview rewards setup

Understanding the Architecture

Metafields vs. Metaobjects

MetafieldsMetaobjects
Single-value data storageComplex, multi-field data structures
Simple types (text, number, money, JSON)Can reference other metaobjects
Attached to existing Shopify resources (shop, customer)Stand-alone entities
Used for configuration and customer-specific dataUsed for program configurations and complex data relationships

Example usage metafield:


_10
{{ shop.metafields.app--60169453569--memberr_v2.organization_id }}

Example usage metaobject:


_10
{%- assign membership = shop.metaobjects.app--60169453569--membership.v2 -%}

Common Patterns

Accessing Data

  1. Shop Configuration:

_10
{{ shop.metafields.app--60169453569--memberr_v2.FIELD_NAME }}

  1. Customer Data:

_10
{{ customer.metafields.app--60169453569--memberr_v2.FIELD_NAME }}

  1. Program Configuration:

_10
{%- assign program = shop.metaobjects.app--60169453569--PROGRAM_TYPE.v2 -%}

Best Practices

  1. Always check existence before accessing:

_10
{% if shop.metafields.app--60169453569--memberr_v2.field_name %}
_10
<!-- Access field -->
_10
{% endif %}

  1. Handle money values correctly:

_10
{{ money_field.value | money }}

  1. Use proper namespace:

_10
app--60169453569--memberr_v2

Data Types

Common Metafield Types

Field NameType
textText values
moneyMonetary values
jsonStructured data
booleantrue/false values

Common Metaobject Fields

Field NameType
is_activeProgram activation status
membership_idReferences to memberships
Money amountsalways use .value to access
Time periodsin days

Security Considerations

Public vs. Private Access

  • Some fields are publicly readable
  • Sensitive data is restricted
  • Always check access levels in documentation

Customer Data Protection

  • Customer metafields are scoped to individual customers
  • Membership data is properly segmented
  • Balances are securely managed

Getting Started

  • Start with Shop Metafields for basic configuration
  • Understand Customer Metafields for user data
  • Explore individual program documentation for specific features
  • Reference best practices when implementing

Need Help?

  • Check individual documentation pages for detailed examples
  • Follow best practices for each data type
  • Ensure proper error handling in your implementation
  • Contact support for additional assistance

Resources