Sync Address in Recharge When a New Shopify Customer is Created

8 min setup
No coding required
Runs automatically

Save time and prevent errors by automatically updating the address in Recharge when a new customer is created in Shopify with a different address. This MESA workflow template ensures customer information stays consistent across both platforms, eliminating manual updates and reducing the risk of data discrepancies. Keep customer details accurate with seamless address syncing.

schedule icon
Schedule: Runs daily
Get List of Customers within the past 24 hours
Filter: Checks if customers have been found
Loop over each customer
List Customers
List Addresses
Filter: Compare recent Shopify info to Recharge info
recharge logo icon
Update Address

You're in good company

"MESA has been a game changer for us. And, if you ever get stuck, their support team is always super helpful."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
PetFriendly

"It's like Zapier but exactly designed for Shopify. I have been able to complete all the workflows that I've needed."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Zailys

"The MESA team has been amazing at helping us set up our automations. We would highly recommend this app!"

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Rothy's

How it works

8 steps to start syncing new customer addresses to Recharge automatically

schedule icon

Schedule: Runs daily

App connector: Schedule • Time to complete: 1 minute
Why this matters: This trigger runs address synchronization on a consistent daily schedule at 8 AM, ensuring new subscription customers who signed up in the past day have accurate shipping addresses before their first subscription order processes.

This scheduled trigger runs once per day at 8 AM. The morning timing provides coverage of the previous day's new customers and processes them before subscription charges typically run later in the day.

Customization: You can adjust the schedule to run at different times or more frequently (like "@hourly" for immediate sync) if new customer address synchronization needs to be more real-time.

Get List of Customers within the past 24 hours

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Retrieves only recently created customers, creating an efficient sync process that focuses on new signups rather than processing your entire customer database daily.

This step fetches Shopify customers using time-based filtering. The query includes updated_at_min set to 24 hours ago (calculated using date math that subtracts 1 day from current time) and limit of 250 customers. This returns customers created in the past day who may have started subscriptions requiring address synchronization. The 250 limit is Shopify's maximum per request—if you have more than 250 new customers daily, you'd need pagination logic.

Why updated_at_min not created_at_min: The query uses updated_at_min because newly created customers have their updated_at timestamp set to creation time, so this effectively captures new customers while also catching any immediate updates they make.

Filter: Checks if customers have been found

App connector: Filter • Time to complete: 0 minutes (Auto-configured)
Why this matters: Prevents unnecessary processing when no new customers were created, conserving workflow execution credits and avoiding errors from empty data arrays in subsequent steps.

This filter checks if the customer array is not empty. If true (customers exist), the workflow proceeds. If false (no new customers), the workflow stops here. This is especially useful for days with no new signups where running the full workflow would be wasteful.

Loop over each customer

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes each new customer individually through Recharge lookup and address comparison, enabling per-customer address synchronization rather than batch operations that might fail partially.

This loop iterates through each customer in the array from step 2. For every customer, the loop executes the subsequent Recharge lookup, address retrieval, comparison, and update steps. This per-customer processing ensures one customer's sync failure doesn't prevent other customers from updating.

List Customers

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Searches Recharge for the customer account using Shopify customer ID, establishing the connection needed to retrieve and update their subscription shipping address.

This step queries Recharge's customer database using the Shopify customer ID as the external_customer_id parameter. It returns matching Recharge customer records with the Recharge customer ID needed for address retrieval. The first result (index 0) contains the customer's Recharge data.

New customer timing: For this workflow to find customers in Recharge, they must have already created a subscription. If a customer signs up in Shopify but hasn't subscribed yet, the Recharge lookup returns empty and the workflow skips them (which is correct behavior).

List Addresses

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Retrieves the customer's current address information stored in Recharge, providing the baseline data needed for comparison with Shopify's current address to detect any discrepancies from signup.

This step queries Recharge for addresses belonging to the Recharge customer ID. It returns address records including address1, address2, city, province, zip, country_code, phone, and name fields. The first address (index 0) is used for comparison—this is typically the customer's primary subscription shipping address set during subscription creation.

New subscriber context: When customers create subscriptions, Recharge copies their Shopify address. However, timing issues or manual Recharge entry can create discrepancies this workflow corrects.

Filter: Compare recent Shopify info to Recharge info

App connector: Filter • Time to complete: 0 minutes (Auto-configured)
Why this matters: Detects actual address differences between Shopify and Recharge, ensuring updates only occur when changes exist rather than updating every new customer record unnecessarily.

This filter implements comprehensive address comparison using OR logic. The workflow proceeds if ANY of these fields differ between Recharge and Shopify:

  1. address1: Primary address line (street address, P.O. box)
  2. address2: Secondary address line (apartment, suite, unit)
  3. city: City name
  4. province: State/province
  5. zip: Postal code
  6. country_code: Country code (like US, CA, GB)

OR logic reasoning: If even one field differs, the address needs updating. The OR operator ensures any discrepancy triggers synchronization, catching cases where Recharge didn't capture complete Shopify address data during subscription creation.

recharge logo icon

Update Address

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Synchronizes the Recharge address with current Shopify data, ensuring the new subscriber's first subscription order ships to their correct address and preventing costly shipping errors or poor first-impression experiences.

This step updates the Recharge address using the Recharge address ID. The update includes:

  1. address1: Primary address line from Shopify default address
  2. address2: Secondary address line from Shopify default address
  3. city: City from Shopify default address
  4. country: Country code from Shopify default address
  5. customer_id: Recharge customer ID (maintains proper account association)
  6. first_name: Customer's first name
  7. last_name: Customer's last name
  8. phone: Customer's phone from default address (or "No phone number provided" if missing)
  9. zip: Postal code from Shopify default address
  10. province: State/province from Shopify default address

Phone number handling: The workflow includes conditional logic that provides a fallback message if no phone number exists, preventing Recharge API errors from missing required phone fields.

The update ensures new subscribers have complete, accurate address information in Recharge from the start.

Ready to set this up? It only takes 8 minutes.

Our support team will even help you personalize this workflow for free.

Get started →

Make it your own!

Customize this workflow even further:

Add welcome email with address confirmation
Insert email steps after the address update that send new subscribers a welcome message asking them to confirm their shipping address, catching any errors before the first shipment.
Filter by subscription product
Add filters that check which products customers subscribed to and vary address handling (like requiring manual verification for international shipments), creating product-specific address workflows.
Log new subscriber sync activity
Add a Google Sheets or database step that records each new subscriber's address sync with timestamp, customer name, and whether updates were needed for onboarding analytics.
Send team notifications for address mismatches
Add Slack or email steps when addresses differ significantly (like different countries or states) to alert your team to potential signup errors requiring manual review.

Common questions

Why use updated_at_min instead of created_at_min?

What if a customer creates an account but doesn't subscribe immediately?

Can I run this immediately after customer creation instead of daily?

Ready to start syncing new customer addresses to Recharge automatically?

7-day free trial • 8 min setup • Cancel anytime

Need help? Our automation experts will help you personalize this workflow for free. Contact support