WooCommerce Automations
Update a WordPress User's Profile When a WooCommerce Product Is Purchased
Want a customer's WordPress profile to reflect the name and details they just used at checkout, without editing it by hand after every order? Zapify does this with the free A product is purchased trigger and the free Update a user action, pulling values straight from the order's billing fields.
What this automation does
This automation pairs one free trigger with one free action:
- Trigger: A product is purchased (
WC_PRODUCT_PURCHASED, WooCommerce) - Action: Update a user (
WP_UPDATE_USER, WordPress)
When an order containing the product you choose reaches a paid status, Zapify writes the fields you configure — using tokens from the order — to the buyer's profile. Any field you leave blank is left exactly as it was.
WooCommerce is required
This automation needs WooCommerce installed and active. If it is missing, Zapify offers to install the host plugin from the trigger picker. WooCommerce is a free Zapify integration.
The customer needs a WordPress account
Update a user edits a WordPress user account. Guest checkouts have no account to update, so this automation only affects orders placed by a logged-in customer, or a guest order WooCommerce matches to an existing account by email.
How to build the automation
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Sync profile from latest order.

Step 2: Add the "A product is purchased" trigger
- Click Add Trigger.

- Choose WooCommerce as the app.

- Select A product is purchased.

- Set the Product field to a specific product, or leave it as Any to update the buyer's profile after any purchase on the store.
Step 3: Add the "Update a user" action
- Click Add Action.

- Choose WordPress as the app.

- Select Update a user.

Step 4: Leave the User field empty to target the buyer
The action's User field decides whose profile is updated. Its description reads "Leave empty to use the user this automation is running for." Because the A product is purchased trigger starts this run, leaving User empty updates the person who bought the product.

Step 5: Map the fields you want to keep in sync
Fill in only the fields you want the order to update. Use the token menu (the {} button) to insert values from the order rather than typing fixed text:
| Field | Suggested token | What it does |
|---|---|---|
| First name | Billing first name | Keeps the profile's first name matching the latest billing details. |
| Last name | Billing last name | Keeps the profile's last name in sync. |
| Billing email | Only map this if your store lets customers check out with a different email than their account — otherwise leave it blank. | |
| Display name | — | Set a fixed value or a token if you want the public name to change too. |
| Website | — | Rarely relevant to an order; usually left blank. |
| New password | — | Leave blank. There's no reason to touch a customer's password on purchase. |
Leave any field you don't need empty — the action only writes the fields you fill in, and if every field is empty Zapify skips the action rather than making an empty update.
New password logs the user out elsewhere
Filling in New password ends the user's other active sessions, which is standard WordPress behaviour. There's no reason to set it from a purchase, so leave it empty here.

Step 6: Set the steps Live and save
Each step has its own switch: Live, Off, or Draft. A new automation starts as a Draft and does nothing until its steps are Live.
- Set the trigger and the action to Live.
- Click Save.

Step 7: Test it
Place a test order for the selected product with a logged-in test account, using billing details that differ from the account's current profile. Check that account's profile in Users → All Users afterwards, or open Zapify → Logs to confirm the run and see whether any field was skipped.
Tokens you can use
The A product is purchased trigger exposes these tokens for the action's fields:
| Token | Value |
|---|---|
| Billing email | Customer billing email |
| Billing first name / last name / phone | Customer details entered at checkout |
| Order ID / Order number | Order identifiers |
| Product IDs / Product names | The purchased products |
| Order total / Currency | Order value and currency |
PRO feature
Choosing which product fires the trigger is free. Deciding whether to run based on other order data — order total, quantity, an existing role — uses automation Conditions, a PRO feature. See filters and conditions.
Conclusion
With the free A product is purchased trigger and Update a user action, Zapify keeps a customer's profile matching their latest order without manual edits. Combine it with add a role when a product is purchased in the same automation, or thank them with an email when a product is purchased.
FAQs
Is this free in Zapify?
Yes. The A product is purchased trigger and the Update a user action are both free, and WooCommerce is a free Zapify integration.
What happens on a guest checkout?
Nothing changes for that order. Update a user needs a WordPress user account to edit, and a guest checkout has none unless WooCommerce matches it to an existing account by email.
Will this overwrite fields I don't map?
No. Only the fields you fill in are written; any field left empty keeps the customer's current value.
Should I map the Email field?
Only if you specifically want the account email to follow the billing email on every order. For most stores, leave Email blank so an account's login email doesn't change just because a customer typed something different at checkout.
Can I run this only for certain products?
Yes, using the Product field in the trigger configuration.
Do I need to write any code?
No. Everything is configured in the Zapify visual builder.