Docs

How Phone Numbers Are Saved to Orders

3 min readUpdated April 29, 2026

One of the most important things Smart Phone Field does is change how phone numbers are stored in your WooCommerce orders. This article explains exactly what gets saved, where it is stored, and why it matters for your store and the tools you use.

The Problem with the Default WooCommerce Phone Field#

The default WooCommerce phone field saves whatever the customer types and nothing more. There is no country code, no formatting, no context.

If a customer in the United States types their number as 2015550123, that is exactly what gets stored in the order. If a customer in Germany types 01711234567, that goes in as-is too.

The result is a database full of phone numbers with no reliable way to know which country they belong to or how to dial them. For any tool that needs to contact customers by phone — SMS platforms, CRMs, marketing automation — these numbers are largely unusable without manual cleanup.

What Smart Phone Field Saves#

Smart Phone Field saves the full international phone number including the country dial code.

The same US customer entering 2015550123 with United States selected in the dropdown would have +1 201-555-0123 saved to their order.

Here is a comparison across a few countries:

CountryCustomer typesSaved by default WooCommerceSaved by Smart Phone Field
United States20155501232015550123+1 201-555-0123
United Kingdom0791112345607911123456+44 7911 123456
Germany0171123456701711234567+49 171 1234567
Australia04123456780412345678+61 412 345 678

The number saved by Smart Phone Field is in a standard international format that any phone system, SMS platform, or CRM can work with immediately.

Where the Number Is Stored#

Smart Phone Field stores the phone number in the standard WooCommerce billing phone field. This means:

  • It appears in your order details under Billing > Phone in the WooCommerce admin
  • It is accessible via the WooCommerce REST API under billing.phone
  • It is passed to any plugin or integration that reads the standard WooCommerce billing phone field
  • It is included in order export tools that export billing data
  • It is visible on the My Account > Orders page for the customer

No custom fields, no extra database tables. The number goes exactly where WooCommerce expects it.

Why This Matters#

SMS marketing and notifications Platforms like Twilio, Klaviyo SMS, and Postscript require phone numbers in E.164 format — a standardized international format that starts with a + and the country code. Numbers saved by the default WooCommerce field need manual cleanup before they can be used. Numbers saved by Smart Phone Field are already in the correct format.

CRM and marketing automation Tools like HubSpot, ActiveCampaign, and Salesforce store and validate phone numbers in international format. Importing numbers without country codes often results in validation errors or numbers being flagged as invalid.

Order management and fulfilment If you or your team ever need to call a customer about their order, having the full international number means you can dial directly without guessing the country code.

Data consistency With the default field, the same customer might enter their number differently each time they order — sometimes with a country code, sometimes without, sometimes with spaces, sometimes without. Smart Phone Field normalises this so every number in your database follows the same format.

Shipping Phone Field#

Smart Phone Field also applies to the shipping phone field on checkout and on the My Account > Addresses page. Shipping phone numbers are stored in the same way — full international format in the standard WooCommerce shipping phone field.

Accessing the Number Programmatically#

If you are building a custom integration or working with the WooCommerce REST API, the number is accessible exactly as it always has been:

php

// PHP
$phone = get_post_meta( $order_id, '_billing_phone', true );

// WooCommerce Order object
$phone = $order->get_billing_phone();

Via the REST API:

GET /wp-json/wc/v3/orders/{id}
Response: { "billing": { "phone": "+1 201-555-0123" } }

No changes needed to your existing code. Smart Phone Field simply ensures the value stored there is a properly formatted international number.