🚫Customer object

Important Notice

Shopify is deprecating the Shopify Admin REST API which the Mechanic REST objects depend on. The first round of deprecations involve the product and variant endpoints. Read about the deprecation here and here.

Use the GraphQL going forward. The product and variant objects will cease to work on on Feb 1, 2025 due to the changes being made by Shopify. Shopify will phase out the REST API completely over time, you can read more about this here.

All of our library tasks will be ported to use GraphQL only, which will provide a model for how you can update your custom tasks. You'll be able to update your non-customized library tasks with a click of a button ☺️

Please see these guides for migrating your custom tasks to GraphQL.

How to access it

  • Use {{ customer }} in tasks responding to shopify/customers events

  • Look up specific customers by their ID, using {{ shop.customers[12345678900] }}

  • Look up specific customers by their email address, using {{ shop.customers["test@example.com"] }}

What it contains

  • Every property from the Customer resource in the Shopify REST Admin API

    • Note: Shopify delivers customer.tags as a comma-delimited string, not an array of strings!

    • Note: As of version 2025-01, Shopify no longer includes customer tags in webhook payloads. In cases of tasks responding to webhooks that include customer payloads, Mechanic does the background querying necessary to support direct references to customer.tags.

  • {{ customer.account_activation_url }}, containing the Shopify-hosted URL where the customer can create a password for their account

  • {{ customer.unsubscribe_url }}, containing the Mechanic-hosted URL where the customer can mark their own customer account as not accepting marketing; see How do I add an unsubscribe link to my emails?

  • The related metafields object: {{ customer.metafields }}

Last updated