Subscribed Webhooks
Layers listens to the following Shopify Webhooks to maintain synchronization:product/create: Triggers when a new product is added to your Shopify store.product/update: Fires when any changes are made to existing products or their related items like variants or metafields.product/delete: Activates when a product is permanently removed from your Shopify catalog.variants/in_stock: Fires when a variant is restocked in Shopify.variants/out_of_stock: Fires when a variant sells out in Shopify.collections/create: Triggers when a new smart or custom collection is created in Shopify.collections/update: Triggers when smart collection rules or custom collections are updated in Shopify.collections/delete: Fires when a smart or custom collection is deleted from Shopify.orders/create: Fires when an order is created in Shopify.app/uninstalled: Fires when the Layers app is uninstalled from your Shopify store.
Synced Content
The synchronization includes all active products and variants, as well as associated media that are published to your primary storefront. It also encompasses all Product, Variant, and Shopify’s Standard Product Taxonomy Metafields specified under theShopify Integration configuration.
Configuring Catalog Sync
To adjust your catalog sync settings:- Navigate to the
Settingpage on the Layers dashboard. - Select the
Shopify Integrationtab. - Here, you can configure the product and variant metafields captured in the sync.
Excluding Metafield Definitions
You can control which product and variant metafield definitions are synced from Shopify to Layers. This allows you to exclude metafields that aren’t needed for search and browse functionality, keeping your catalog data focused and efficient.How to exclude metafield definitions
- Navigate to Settings → Shopify Integration in the dashboard.
- Scroll to the Metafield Definitions card.
- Metafield definitions will load automatically from your Shopify store, organized by namespace.
- Toggle individual metafields on or off to include or exclude them from sync.
- Use the Select All / Deselect All checkbox to quickly manage all metafields at once.
- Save your changes.
Important notes
- Excluded metafields persist: Once you exclude a metafield definition and save, it will remain excluded on all subsequent catalog syncs until you re-enable it.
- Automatic loading: Metafield definitions are fetched automatically when you visit the configuration page—no manual refresh is needed.
- Applies to new syncs: Exclusions only affect future syncs. To remove already-synced metafield data, you’ll need to trigger a full catalog resync after updating your exclusions.
- Relates to Synced Content: The metafields you select here determine which Product, Variant, and Standard Product Taxonomy Metafields are included in the “Synced Content” described above.
Configure Export schedule
By default your entire catalog is resynced from Shopify every eight hours. Please contact support to adjust this schedule.Variant Availability Calculation
Layers calculates variant availability to determine which products and variants are shown as available in search and browse results. By default, Layers uses Shopify’savailableForSale field, which considers inventory across all locations.
Online-fulfilling locations feature
For stores with multiple inventory locations (such as retail stores and warehouses), you can enable an opt-in feature that recalculates variant availability based only on locations wherefulfills_online_orders = true. This ensures that variants are only marked as available if they have stock at locations that can fulfill online orders.
How availability is calculated
When the online-fulfilling locations feature is enabled, a variant is considered available if:- The variant has
inventory_policy = 'continue'(allows selling when out of stock), OR - The variant has available quantity > 0 at any active location where
fulfills_online_orders = true
When availability is recalculated
Variant availability is automatically recalculated in the following scenarios:- After bulk inventory syncs complete
- When inventory levels are updated via webhooks
- When a location’s
fulfills_online_ordersoris_activestatus changes - When the feature is first enabled for your store
Location-based inventory tracking
Layers tracks which inventory locations have available stock for each variant through thevariants.in_stock_location_ids field. This field contains an array of location IDs where the variant has available > 0 inventory, enabling you to filter products by location-specific availability.
The
in_stock_location_ids field is available for filtering but is not included in API responses. It is an internal field used exclusively for filtering and sorting operations.in_stock_location_ids field is automatically updated whenever:
- Inventory levels change via webhooks or bulk syncs
- A variant’s inventory is adjusted at any location
- New inventory locations are added or modified
Enabling the feature
To enable online-fulfilling location availability calculation:- Navigate to Settings → Shopify Integration in the Storefront configuration dashboard.
- Enable the Use Online Fulfillment Locations for Availability checkbox.
- Save your changes.
Synchronization Process
Upon receiving a webhook notification, Layers performs the following steps:- Verification: Confirms the validity of the webhook event.
- Data Fetch: Retrieves the latest information on the affected products.
- Index Update: Updates the search index to reflect the new or changed data.
Troubleshooting Sync Issues
If you encounter issues with catalog synchronization, consider the following steps:- Check Webhook Settings: Ensure that Layers has the correct permissions.
- Review Product Status: Verify that products are active and published to the correct storefront.
App Uninstallation and Data Retention
When you uninstall the Layers app from your Shopify store, your data is not immediately deleted. Instead, your store is queued for deletion with a 30-day grace period to allow for accidental uninstallations or changes of mind.What happens during the grace period
- Store queued for deletion: Your store and all associated data are marked for deletion but remain intact.
- Jobs paused: All background sync jobs are automatically paused to prevent unnecessary processing.
- Support notification: A support ticket is automatically created to notify our team.
Restoring access after uninstallation
If you uninstalled the app by mistake or changed your mind:- Reinstall the Layers app from the Shopify App Store within the 30-day grace period.
- Contact our support team to restore your store and data.
- Your previous configuration and data will be preserved and reactivated.
Permanent deletion
After 30 days, your store and all associated data will be permanently deleted from our systems. This includes:- Product catalog data
- Search analytics and metrics
- Configuration settings
- All historical data
FAQs
Q: How often does catalog sync occur?A: Synchronization happens in near real-time following the triggering of any subscribed webhook events. Additionally, every eight hours, the entire catalog is bulk exported from Shopify. Q: Can I manually trigger a catalog sync? A: Yes, you can initiate a manual sync via the Layers dashboard if needed. Q: Does the catalog sync work with split products or Combined Listings? A: Yes, all published products are synced from Shopify. Q: How can I hide a product from Layers?
A: You can unpublish it from the Online Store sales channel, add the
hide tag, or configure custom excluded tags in Settings → Search Behavior. By default, products with the hide, algolia-ignore, or layers-ignore tags are excluded from search.
For more information or if you require assistance, please get in touch with our support team.