Change events
Ten kinds of signal, one clean feed.
Each event carries the store, the product or page, what it was, what it is now, and an impact level, so a feed of a hundred changes can be cut down to the five that matter.
PricingPrice changes
Every variant's price is compared on every scan. An increase or a decrease is recorded with the old and new amount and the percentage move, and it feeds the product's price history chart so a slow drift is as visible as a one-day cut.
PRICE_INCREASED · PRICE_DECREASEDPromotionsSales and compare-at prices
A compare-at price appearing, moving, or vanishing is how a Shopify store runs a sale, so each is its own event: sale started, sale changed, sale ended. A compare-at price that changes without a discount being on is recorded separately, so an anchor-price rewrite is not mistaken for a promotion.
DISCOUNT_STARTED · DISCOUNT_CHANGED · DISCOUNT_ENDED · COMPARE_AT_PRICE_CHANGEDSubscriptionsSubscription and purchase options
Subscribe-and-save plans, refill cadence, bundle offers and other selling plans on a product page. A competitor adding a subscription, changing its discount, or switching a product to subscription-only is a pricing move that a unit price alone would never show.
PROMOTION_CHANGEDProductsNew products, removals, and comebacks
A product that appears in the public catalog is a launch; one that disappears is a delisting; one that returns after being pulled is a restoration. The first scan is a single baseline event, so you are only told about what changed after you started watching.
PRODUCT_ADDED · PRODUCT_REMOVED · PRODUCT_RESTOREDProductsProduct page edits
Titles and descriptions are diffed, and image sets are tracked for additions, removals, and reordering — a new hero image or a rewritten benefit list is a positioning move worth seeing before it shows up in their ads.
PRODUCT_TITLE_CHANGED · PRODUCT_DESCRIPTION_CHANGED · PRODUCT_IMAGE_ADDED · PRODUCT_IMAGE_REMOVED · PRODUCT_IMAGE_REORDEREDProductsVariants and options
New sizes, colors, or bundles on an existing product; variants that are retired; option values that are renamed. Tracked per variant, so a price change on one size does not read as a change to the whole product.
VARIANT_ADDED · VARIANT_REMOVED · VARIANT_OPTION_CHANGEDAvailabilitySold-outs and restocks
Availability is read per variant on every scan. A sell-out is often the first public sign of demand or a supply problem; a restock is the moment their ads switch back on. Both are events you can alert on.
SOLD_OUT · RESTOCKEDCollectionsCollections and merchandising order
New collections, products entering or leaving them, and position changes inside them. Shopify's default collection order is best-selling, so a product climbing a collection is the closest public proxy for what a competitor is actually selling; only moves deep and large enough to be a trend rather than jitter are reported.
COLLECTION_ADDED · COLLECTION_PRODUCT_ADDED · COLLECTION_PRODUCT_REMOVED · COLLECTION_PRODUCT_MOVEDContentPages and blog posts
Collection descriptions, About pages, shipping and returns policies, landing pages, blogs, and articles are captured as meaningful text and diffed. A new landing page or a rewritten guarantee usually lands before the campaign does.
CONTENT_ADDED · CONTENT_CHANGEDSEOSEO metadata
Title tags, meta descriptions, H1s, and canonical URLs on product pages. Rewritten titles show which keywords a competitor is chasing; a canonical change shows consolidation or cleanup work under way.
SEO_CHANGED