Media and metafields
Images and metafields are the two field groups that behave differently enough to deserve their own page.
Images
The Images checkbox, in the Media group, is on by default.
When it runs, the child’s images are made to match the parent’s exactly:
- The images currently on the child are removed.
- The parent’s images are uploaded to the child from the parent’s own image URLs, with their alt text.
That is a replacement, not a merge. An image a child had and the parent does not have is gone after a sync, and it is not recoverable from the app. If a child needs its own photography, leave images off for that rule.
Because the images are uploaded rather than linked, each child ends up with its own copies. Shopify processes new images asynchronously, so they can take a moment to appear after a sync reports success.
What is not touched
Only image media is mirrored. Video, 3D models and externally hosted media on either product are ignored: they are not copied from the parent, and they are not removed from the child.
The app reads up to 250 images from a parent, which is Shopify’s own media limit for a product. Large sets are written in several passes.
Metafields
The Metafields checkbox copies the parent’s product level metafields to the child, keeping each one’s namespace, key, type and value. It is on by default.
Metafields are set, not synchronised. A metafield that exists on the child but not on the parent is left alone rather than deleted.
Only product level metafields are involved. Metafields belonging to variants, collections, customers or orders are not read or written.
Namespaces
With the Metafields checkbox on, the editor shows a namespace list underneath it.
- Leave the list empty and every namespace is copied.
- Add one or more namespaces and only those are copied.
Type a namespace and press Enter, a comma, or the Add button. Common namespaces (custom,
global, descriptors, reviews, seo) are offered as one click suggestions. Remove one by
clicking the cross on its tag. Namespaces are stored in lower case.
A namespace list is the usual way to let app owned metafields on a child stay untouched while the descriptive ones follow the parent.
Limits
The app reads up to 250 metafields from a parent and writes them in batches of 25, which is Shopify’s documented maximum for a single write. A value Shopify rejects, for example because it does not match the metafield definition’s type on that product, is reported as an error on that child’s log row, and the rest of the sync continues.