How it works

Follow these 3 simple steps to start syncing Yotpo loyalty points to Shopify customer metafields automatically

yotpo logo icon

Points Changed

App connector: Yotpo Loyalty • Time to complete: 0 minutes (Auto-configured)
Why this matters: This trigger captures every Yotpo loyalty points transaction in real-time, ensuring Shopify customer data stays synchronized with your loyalty program without requiring batch updates or manual syncing.

This step automatically watches for any point balance changes in your Yotpo Loyalty program and captures the customer's email address and updated point balance. When a customer earns points from a purchase, redeems points for rewards, or has points manually adjusted by your team, this trigger activates and passes the customer data and new point total to the next step. No configuration is needed - MESA connects to your Yotpo Loyalty account and monitors all point balance changes across all customers.

Search Customer

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Locates the matching Shopify customer record using the email address from Yotpo, ensuring points are synced to the correct customer profile even if customer IDs differ between systems.

The workflow automatically searches your Shopify customer database using the email address captured from the Yotpo points change event. It queries Shopify's customer search API with the email parameter and limits results to 1 customer to find the exact match. This step retrieves the customer's unique Shopify ID number, which is required for updating their metafield in the next step. The search happens instantly and passes the customer ID forward if a matching email is found.

Shopify logo icon

Set Customer Metafield

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Stores the current loyalty points balance directly on the Shopify customer profile as a metafield, making points data accessible to themes, email templates, flows, and other Shopify automations without API calls to Yotpo.

The workflow creates or updates a custom metafield called "yotpo_loyalty_points" in the customer's Shopify profile with their current point balance from Yotpo. It uses the customer ID from the previous search step and stores the points as a number_integer type metafield under the "custom" namespace. This metafield can be displayed on customer account pages, used in email templates, or referenced by apps and themes. The point value gets updated every time the customer's balance changes in Yotpo, keeping Shopify data in sync.

Make it your own

Customize this workflow even further:

Add additional Yotpo data to metafields
Expand the workflow to store other Yotpo information like VIP tier, redemption history, or points pending from unpaid orders by adding more "Set Customer Metafield" steps with different keys and values from the Yotpo payload.
Display points in customer account pages
Use the metafield in your Shopify theme's customer account template to show loyalty points balance, adding custom Liquid code that reads {{ customer.metafields.custom.yotpo_loyalty_points }} to display the value.
Trigger emails when points thresholds are reached
Add a filter after the metafield update that checks if points exceed certain milestones (like 500 or 1000 points) and sends congratulatory emails or reward notifications when customers reach significant balances.
Segment customers by points balance
Use the metafield to create customer segments in Shopify that group customers by points ranges, enabling targeted marketing campaigns to high-point customers or re-engagement campaigns for low-point customers.

Frequently asked questions

What happens if a customer doesn't exist in Shopify?
The search step will return empty results and the workflow will fail at the metafield update step because there's no customer ID to use. This typically happens if a customer has a Yotpo loyalty account but hasn't placed a Shopify order yet. Consider adding error handling or a filter to skip metafield updates when no customer is found.
Can I customize the metafield name or namespace?
Yes, edit the "Set Customer Metafield" step and change the namespace and key fields to match your preferred naming convention. For example, you could use namespace "loyalty" and key "points_balance" which would make it accessible as customer.metafields.loyalty.points_balance in Liquid.
Will this workflow create duplicate metafields?
No, Shopify's metafield system uses namespace + key as a unique identifier. Each time the workflow runs, it updates the existing metafield value rather than creating duplicates. The customer will always have only one "custom.yotpo_loyalty_points" metafield with the most recent balance.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start syncing Yotpo loyalty points to Shopify customer metafields automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 3 min setup • Cancel anytime