This page covers Profile field mapping. For mapping Shopify product fields into Omneo, see the product Field mapping section in Setting up the Shopify extension.
1
Create the metafield in Shopify
Shopify will not store a value in a metafield that has no definition, so the metafield must exist before you can map to it.
2
Map the field in the Omneo CX app
Choose the Omneo field, choose the Shopify field, and the extension writes the value on every sync.
Fields you do not need to map
A core set of fields syncs by default in both directions. Do not create mappings for these. Custom mappings are applied on top of the defaults and are resolved last, so a custom row targeting one of these fields overrides the default behaviour, which is rarely what you want.Shopify Account to Omneo Profile
Applied on every sync, on both create and update:
Applied only when the Profile is first created:
Omneo Profile to Shopify Account
Step 1: Create the metafield in Shopify
Go to Settings > Custom data > Customers in Shopify admin:Definition settings
Options
Step 2: Map the field in the Omneo CX app
Go to Omneo CX > Settings > Profiles in Shopify admin and open the Field Mapping tab:
Mappings are applied every time a Profile is synced.
Anatomy of a mapping row
Select Add mapping to create a row. Each row is one field, in one direction.
Format, Array Select, and Default are available independently on each side of the row.
Mapping Identities
An Identity is an external ID associated with an Omneo Profile: the named slot that holds a Profile’s unique identifier in a third-party system, such as a Shopify customer ID, a loyalty card number, or a staff number. Each Identity has a handle and an identifier, referenced together ashandle:identifier, for example shopify:12345. Identities are what let Omneo unify one person’s data across every system that knows them. See Identities for the concept and Working with identities for the API.
Map Identities in the Identity tab of Profile settings instead. That tab handles two things:
Identity mapping uses the same row model as Field Mapping: a source, a destination, and the optional modifiers. The difference is which side of the Profile the value is read from.
The Shopify Extension claims the
shopify handle. Do not reuse it for a mapped Identity, and do not point another Extension at it. Handle collisions cause the owning Extension to behave incorrectly.Sync behaviour
- Mapped fields update automatically whenever the underlying attribute changes on the Omneo side. You do not need to trigger anything.
- Before launch, run a bulk resync so existing Profiles are brought up to date. New mappings apply from the moment they are saved, so without a resync the values populate slowly as each Profile happens to change.
- A mapping writes on sync only. Editing a metafield by hand in Shopify admin holds until the next sync of that Profile overwrites it.
- Custom mappings are resolved after the default field mapping, so a custom row pointed at a default target wins. Use this deliberately or not at all, because overriding a default such as
emailortagschanges behaviour the rest of the extension depends on.
Example: syncing the current tier
Mapping the Omneo Tier name into a customer metafield:
Adapt the pattern to whatever fields and naming approach suit the brand.
Reading the value on the storefront
With Storefront API access enabled, a synced metafield is available in Liquid on the customer object:Recommended practice
The legacy balance metafield
omneo.balance predates the field mapping system. It is a hardwired feature of the extension, it still works, and it holds a structured array of balance data for the Profile. The extension appends it to every Omneo to Shopify sync, so it is always present and always current without any configuration.
Do not create a definition for
omneo.balance or map to it manually. The extension maintains it. Create separate metafields if you need individual balance values in their own fields.