Skip to main content

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.
*Order webhooks are only subscribed to to calculate product and variant level sales metrics. PII is not ingested or retained.

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 the Shopify Integration configuration.

Configuring Catalog Sync

To adjust your catalog sync settings:
  1. Navigate to the Setting page on the Layers dashboard.
  2. Select the Shopify Integration tab.
  3. 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

  1. Navigate to SettingsShopify Integration in the dashboard.
  2. Scroll to the Metafield Definitions card.
  3. Metafield definitions will load automatically from your Shopify store, organized by namespace.
  4. Toggle individual metafields on or off to include or exclude them from sync.
  5. Use the Select All / Deselect All checkbox to quickly manage all metafields at once.
  6. 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’s availableForSale 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 where fulfills_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:
  1. The variant has inventory_policy = 'continue' (allows selling when out of stock), OR
  2. 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_orders or is_active status changes
  • When the feature is first enabled for your store
After recalculation, affected products are automatically updated in the search index to reflect the new availability status.

Location-based inventory tracking

Layers tracks which inventory locations have available stock for each variant through the variants.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.
The 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
You can use this field to filter products by location availability in search and browse requests. See the Filtering Language documentation for examples of filtering by location IDs.

Enabling the feature

To enable online-fulfilling location availability calculation:
  1. Navigate to SettingsShopify Integration in the Storefront configuration dashboard.
  2. Enable the Use Online Fulfillment Locations for Availability checkbox.
  3. Save your changes.
The feature will take effect after the next inventory sync completes.

Synchronization Process

Upon receiving a webhook notification, Layers performs the following steps:
  1. Verification: Confirms the validity of the webhook event.
  2. Data Fetch: Retrieves the latest information on the affected products.
  3. 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

  1. Store queued for deletion: Your store and all associated data are marked for deletion but remain intact.
  2. Jobs paused: All background sync jobs are automatically paused to prevent unnecessary processing.
  3. 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:
  1. Reinstall the Layers app from the Shopify App Store within the 30-day grace period.
  2. Contact our support team to restore your store and data.
  3. 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
If you have any questions about uninstalling or need assistance, please contact our support team before the 30-day period expires.

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.