How to Share Billing and Shipping Address Data
Between WooCommerce Installations
Customers enter their address once, and it follows them everywhere. No re-typing on each store. No checkout friction. No abandoned carts from address fatigue.
Updated 2026
Address Sync Guide

Address entry is one of the most tedious parts of online checkout. Name, street, city, postal code, country, phone number. Customers do it reluctantly, and many abandon carts rather than complete it. When you run multiple WooCommerce stores, asking customers to enter this information repeatedly on each store multiplies the friction exponentially.
The solution is obvious in concept: enter the address once, use it everywhere. But implementing this across separate WooCommerce installations requires understanding how WooCommerce stores address data, how to synchronize that data between sites, and how to handle the edge cases that arise when customers update addresses on different stores.
This guide covers the complete process. We explain WooCommerce’s address data structure, walk through configuration for cross-site address sync, and address practical considerations like conflicting updates and partial address data. By the end, you will have a clear path to implementing shared addresses across all your WooCommerce stores.
How WooCommerce stores address data
Understanding WooCommerce’s data structure is essential before configuring synchronization. WooCommerce stores customer addresses in the wp_usermeta table using a specific set of meta keys for each address field.
Each customer has two address sets: billing and shipping. The billing address is used for payment processing and invoicing. The shipping address is where physical products are delivered. Many customers use the same address for both, but the system maintains them separately to handle cases where they differ.
billing_first_name, billing_last_name, billing_company, billing_address_1, billing_address_2, billing_city, billing_state, billing_postcode, billing_country, billing_phone, billing_email. These eleven fields capture everything needed for payment processing and invoice generation.
shipping_first_name, shipping_last_name, shipping_company, shipping_address_1, shipping_address_2, shipping_city, shipping_state, shipping_postcode, shipping_country, shipping_phone. Ten fields that define where orders are physically shipped. Note that shipping does not include email since delivery notifications typically use the billing email.
Each address field is stored as a separate row in wp_usermeta. For user ID 42, their billing city would be stored as: user_id=42, meta_key=”billing_city”, meta_value=”New York”. This EAV (Entity-Attribute-Value) pattern allows flexibility but means address data is spread across many rows that must all be synchronized together.
Configuring WooCommerce address synchronization
A WooCommerce-aware user sync plugin understands these address fields as a logical group and provides configuration options specifically for them. Rather than manually selecting twenty individual meta keys, you can enable billing and shipping sync as complete address blocks.
The configuration typically offers toggles for each address type. Enable billing address sync to synchronize all eleven billing fields. Enable shipping address sync to synchronize all ten shipping fields. Most multi-store implementations enable both, but you have the flexibility to sync only billing if shipping addresses should remain store-specific.
Real-time address synchronization
Address updates can happen through multiple paths in WooCommerce. A customer might update their address through My Account, enter it during checkout, or have it modified by an admin. A comprehensive address sync system monitors all these paths and triggers synchronization regardless of how the change occurred.
When a customer edits their address through the WooCommerce My Account page, the change triggers synchronization to all connected stores. The customer updates once and sees their new address everywhere.
New customers entering their address for the first time during checkout have that address synced to other stores immediately after order completion. Their next visit to any connected store finds their address pre-filled.
Store administrators editing customer addresses through the WordPress admin have those changes synchronized just like customer-initiated updates. Whether fixing a typo or updating after a customer service call, the change propagates network-wide.
Handling edge cases
Real-world address synchronization encounters scenarios that require thoughtful handling. Understanding these edge cases helps you configure sync appropriately for your business.
What if a customer updates their address on Store A while simultaneously an admin updates it on Store B? The sync system uses timestamps to resolve conflicts. The most recent change wins, ensuring the latest information is what propagates. For address data, this almost always reflects the customer’s current reality.
Not all customers fill in every address field. Some skip the company name or second address line. Sync handles this gracefully by only transmitting fields that have values. Empty fields on the source do not overwrite populated fields on the destination unless the customer explicitly clears them.
For stores serving different regions, customers might have genuinely different shipping addresses, such as a US address for your US store and a UK address for your UK store. You can configure sync to only share billing addresses while keeping shipping store-specific, or implement custom logic based on your operational needs.
When connecting stores with existing customers, a bulk sync can push address data from your master store to sub stores. Customers matched by email receive their address information on all connected stores. No manual data entry or customer action required.
The checkout experience transformation
The real payoff of address synchronization is what customers experience at checkout. Instead of facing empty address forms, they find their information already filled in. The checkout process that might have taken two minutes now takes twenty seconds.
Monitoring address sync operations
Visibility into what is synchronizing and when helps maintain confidence in the system and troubleshoot any issues that arise. Detailed logs show every address update that propagates through your network.
The dashboard view provides high-level status of your sync network. You can confirm connections are healthy, see recent sync activity, and identify any stores that might be having communication issues.
Implementing address sync in your stores
Address synchronization is a core feature of a complete WooCommerce user sync solution. The WooCommerce tab in the settings panel provides dedicated controls for billing and shipping field synchronization.
Connect your stores, navigate to the WooCommerce settings, enable the address field groups you want synchronized, and the system handles everything else. Address updates flow automatically between stores in real time. Your customers get the seamless, pre-filled checkout experience they expect from modern e-commerce.
Stop making customers repeat themselves. Enter once, use everywhere. That is the experience address synchronization delivers.
Customer addresses that follow them everywhere
Nexu User Sync handles WooCommerce billing and shipping address synchronization automatically. Reduce checkout friction, eliminate re-entry, and give customers the seamless experience they expect.





This guide says it explains how WooCommerce stores addresses in usermeta, but good luck finding the actual details. Took me five minutes just to dig up the single example buried in all the filler.
Got this for my buddy's multi store setup. Sync works okay, but partial addresses?
Quick question about the address sync feature. the guide mentions "ten fields that define where orders get shipped" could anyone list out exactly which ten fields they're talking about? I'm setting up a few stores and just want to double check my mapping before I start testing. Thanks for the help!
Hey, so I grabbed this guide hoping to cut down on checkout headaches for my food delivery sites. The "enter once, use everywhere" idea is solid and exactly what I needed. setup wasn't too bad once I dug into the usermeta stuff though figuring out which fields to sync (like billing_city vs shipping_city) took longer than expected