DEV Community

Vhub Systems
Vhub Systems

Posted on

My Competitor Launched a New Product 17 Days Ago. I Found Out When a Customer Asked Me If I Had 'Something Like It.' They Alre..

Pain #234 | Shopify Competitor New Product Launch Monitor | 2026-03-31


It started with an email from a customer.

"Hey — saw that PawCool Direct just launched a new cooling vest for dogs. Do you guys have anything like that?"

I visited PawCool's site. The product page was live. Launched 17 days ago. They had a Google Shopping ad running on "cooling vest for dogs" — a keyword I was also bidding on. And they had 22 reviews.

I went back to my analytics. Over the past 17 days, my Google Shopping CPC on that keyword had climbed 28%. My conversion rate on the keyword had dropped. I hadn't attributed it to anything. Now I could see exactly what had happened.

They had 17 days. I had zero. The 48-hour response window — where I could have launched a comparison page, adjusted my Shopping bids, sent an email campaign — was gone. They had reviews. They had organic ranking velocity. The window I needed to contest the keyword before their review moat closed had passed entirely.

This is not a story about a missed sale. It's a story about a structural competitive disadvantage that compounds over months — and a $29 automation that closes it permanently.


Why Google Alerts Don't Solve This

The obvious first instinct is to set a Google Alert for a competitor's brand name. Most merchants try this. Most give up within a few weeks.

A Google Alert surfaces press mentions, review posts, and social shares — not new product page URLs on the competitor's Shopify store. A new Shopify product page is an internal URL with no inbound links at publication. Google doesn't crawl it within 24–48 hours, and even after indexing, it generates no alert unless an external article mentions it by name.

Merchants who attempt new product detection with Google Alerts report near-zero signal for actual launches. The alert fires for everything except what they need.


Why Visualping and ChangeTower Don't Solve This

Visual change detection is the second attempt. Visualping captures a screenshot of a monitored URL, compares it to the previous screenshot, and alerts when they differ.

The problem: a competitor's new product is a new URL, not a change to an existing page. Visualping cannot detect when a new page appears on a domain. Some merchants monitor the competitor's collection page hoping a new product will trigger an alert — but any banner change or layout update fires a false positive. For a Shopify store that refreshes its homepage weekly, Visualping sends constant noise. At $25/month, you're paying for alerts that aren't about products.

Competitor new product detection is a new-URL discovery problem. Visual change detection doesn't have the right architecture.


Why SEMrush "New Pages" Reports Don't Solve This

SEMrush has a "New Pages" feature that tracks when new pages appear in the organic rankings for a configured competitor domain. It works. But it has a 2–4 week data lag for newly published pages, and it requires the merchant to proactively check the report rather than delivering an automated alert.

The merchant who checks SEMrush's New Pages report for their three main competitors every Friday is doing better than most. But they're still operating on weekly manual review, and the data they're reviewing is already 2–4 weeks old. When the report surfaces a competitor's new product page, the 48-hour response window closed weeks ago.

SEMrush is also priced at $129–$249/month — designed for agencies running full keyword portfolios. A Shopify merchant whose only need is "alert me the same day a competitor publishes a new product page" is paying enterprise rates for a feature that doesn't do what they need.


Why Weekly Manual Site Checks Don't Solve This

"I manually check my three main competitors' sites maybe once a week — but I know that's useless. A new product can go from zero to ranking in Google Shopping within a week if they're running ads. By the time I see it in my weekly check, the damage is already done."

That quote is from a Shopify store owner in the pet products niche. It captures the core structural problem with manual monitoring: the competitive response window that matters is 48–72 hours, and a weekly check systematically misses it.

In fast-moving categories — beauty, supplements, pet products, home goods, fitness equipment — a new product can accumulate 10–20 reviews and stable organic placement within the first 7 days if the competitor runs ads and has an established email list. The window where you can contest the keyword with minimal review disadvantage, launch a comparison page before the competitor has social proof, and send an email campaign before your audience has processed the launch — that entire window closes within the first week.

A merchant doing weekly manual checks will discover the new product somewhere between day 7 and day 14 — on average, when the window has been closed for 5–10 days. They will take action that is systematically too late. This is not a discipline problem. It's an architecture problem.


The Architecture: Apify + n8n + Airtable + Slack in Three Components

The solution exploits a structural feature of every Shopify store that almost no merchants know about: the product sitemap.

Every Shopify store — by default, without any configuration — publishes a product sitemap at /sitemap_products_1.xml. This XML file contains a complete list of every product page URL currently live on the store. When a new product is published, its URL is added to the sitemap within minutes. When a product is unpublished, its URL is removed.

The sitemap is publicly accessible, machine-readable, and updated in real time. It is a complete inventory of a competitor's live product catalog — updated automatically on every product publish event. This is the data source the system uses.

Component 1 — Shopify Sitemap Monitor (Apify)

The Apify actor apify/cheerio-scraper fetches /sitemap_products_1.xml from each configured competitor Shopify domain. For each domain, it parses the XML and extracts all <loc> values — the complete list of live product page URLs. This runs daily at 6 AM.

Cost: ~$0.10–$0.30/month for 5–10 competitor domains at daily intervals. The cheerio-scraper is lightweight for XML parsing — each sitemap fetch is a single HTTP request returning a small XML file.

Note on pagination: Shopify paginates sitemaps at 250 products per file. If a competitor has more than 250 products, include both /sitemap_products_1.xml and /sitemap_products_2.xml in the start URLs. Most niche Shopify stores in direct competition have fewer than 250 products, making a single sitemap file sufficient.

Component 2 — New URL Detection (n8n)

The n8n workflow runs on the same daily schedule. It retrieves the current product URL list from the Apify run output, then retrieves the previously stored URL list from Airtable's url_snapshots table. A Code node performs the set comparison: URLs in the current list that are not in the prior list are flagged as new products.

For each new URL detected, an HTTP Request node fetches the product page and extracts the product name and price from the HTML (<title>, meta[property="og:price:amount"], or the Shopify JSON-LD block that all Shopify product pages include). The new product data is written to the competitor_products table in Airtable with the detection timestamp.

Component 3 — Slack Alert + Airtable Log

When new URLs are detected, the workflow sends a Slack message to the #competitor-alerts channel:

🆕 COMPETITOR NEW PRODUCT DETECTED
Store: PawCool Direct (pawcooldirect.com)
Product: "Cooling Vest for Dogs — All Breeds"
URL: https://pawcooldirect.com/products/cooling-vest-dogs
Price: $34.99
Detected: 2026-03-31 06:12

⚡ Response checklist:
→ [1] Check Google Shopping: is this product bidding on your primary keywords?
→ [2] Build/update comparison page: Your Product vs. Cooling Vest for Dogs — All Breeds
→ [3] Review your product's positioning — does this new product expose a gap?
→ [4] Flag for email campaign: "New competition in dog cooling gear — here's how we compare"
Enter fullscreen mode Exit fullscreen mode

The Airtable competitor_products table accumulates a full history of every new product launched by every configured competitor — with detection date, product name, price, and (optionally) review count fetched on detection day and again 7 days later to show accumulation velocity.

Total running cost: ~$0.10–$0.30/month.


Step-by-Step Setup (~65 Minutes Total)

Step 1 — Build the Airtable Base (10 minutes)

Create two tables: competitor_products (competitor_name, competitor_domain, product_url, product_name, price, first_detected_date, review_count_at_detection, notes) and url_snapshots (competitor_domain, snapshot_date, url_list as long text, run_id). Populate with competitor domain names only — the first Apify run creates the baseline.

Step 2 — Configure the Apify Sitemap Scraper (10 minutes)

In Apify, create a new task using apify/cheerio-scraper. Set memory to 256MB. Configure:

  • startUrls: for each competitor domain, the URL https://[domain]/sitemap_products_1.xml
  • Page function: parse the sitemap XML, extract all <loc> values (product page URLs), output an array of URLs per domain with the domain as a field

Test against one competitor domain. Verify the sitemap is accessible and the URL array is being extracted correctly.

Step 3 — Run the Baseline Snapshot (5 minutes)

Run the Apify task manually once. Build a simple n8n workflow that writes all extracted product URLs to url_snapshots with today's date. This is Day 0 — all future runs compare against it to identify new URLs.

Step 4 — Build the New URL Detection Logic in n8n (20 minutes)

Create the main daily workflow. Schedule trigger at 6 AM → Apify Run Task node → wait for completion → Split In Batches (one domain per iteration). For each domain: Airtable Read fetches yesterday's URL snapshot; a Code node (JavaScript) compares today's array against yesterday's and returns only new URLs; an IF node routes to the Slack alert branch if new URLs are found, or logs and continues if none.

Step 5 — Configure the Slack Alert (10 minutes)

In the new-URL branch: HTTP Request node fetches the new product page and extracts title and price; Slack node sends the formatted alert with response checklist; Airtable Create Record writes the new product to competitor_products with detection timestamp.

Step 6 — Activate and Verify (10 minutes)

Set the workflow to Active. The first live comparison runs the following morning. After 7 days, verify that url_snapshots is logging daily correctly. Optionally add a Sunday digest workflow querying competitor_products for all records with first_detected_date in the past 7 days.


What the 48-Hour Window Enables

"The thing I hate most is finding out about a competitor's new product on Reddit or from a customer. There has to be a way to know the day they publish the product page, not three weeks later."

When the Slack alert fires within 24 hours of a competitor publishing a new product, four competitive response options open that close as the days pass:

Google Shopping bid defense. If the competitor is running ads on a keyword you're also bidding on, you can increase your bid before their new product accumulates Quality Score and review social proof. The cost to outrank a new competitor product with zero reviews is significantly lower than the cost to outrank one with 30.

Comparison landing page. A comparison page ("Your Product vs. Competitor's New Product") launched when the competitor has zero reviews is a legitimate SEO asset. When the competitor's product has zero reviews, you have no social proof disadvantage on a comparison page. When they have 40 reviews and yours has none on that comparison, the page is harder to win.

Email campaign. An email to your list that mentions a new competing product — "Here's how we compare to the new [X] that just launched" — reaches your audience before the competitor's launch marketing does. Sent 48 hours after launch, it frames the narrative. Sent 17 days later, you're responding to noise your audience has already processed.

Product roadmap intelligence. Over 6–12 months, the Airtable log builds a structured view of competitor product development velocity — which competitors launch most frequently, at what price points, and into which categories. This intelligence compounds.

What this system does not do: It does not monitor Amazon, eBay, or other marketplace pages — only direct Shopify stores via the standard product sitemap. It does not automatically adjust Google Ads bids — that's a manual action triggered by the Slack alert. It detects new product URLs, not updates to existing product pages.


What This System Delivers

"I found out a competitor launched a product directly competing with my bestseller when a customer emailed asking if I had something similar. By then the competitor already had 22 reviews. I had a three-week head start I didn't know I was losing."

The merchant who said this estimated they missed 4–6 competitive response windows in the past 12 months. The cost isn't one lost sale — it's compounding CPC increases, organic ranking displacement, and missed email campaign windows that show up in quarterly numbers without an obvious cause.

The system closes the detection gap at $0.10–$0.30/month in Apify costs. Setup takes 65 minutes. Every new product launch by every configured competitor then fires a Slack alert within 24 hours — with the product name, price, URL, and response checklist — before the window closes.


Get the Shopify Competitor New Product Launch Monitor

$29 — Standalone System

The Shopify Competitor New Product Launch Monitor includes everything you need to deploy the full system described in this article:

  • n8n workflow JSON (import-ready): sitemap URL comparison logic, new-URL detection, Slack alert with response checklist, Airtable logging with detection timestamps
  • Apify cheerio-scraper config: Shopify sitemap fetch, multi-domain support, sitemap pagination for stores with >250 products
  • Airtable competitor product tracker template: competitor domain, product URL, product name, price, first detected date, review count at detection, notes
  • Competitive response playbook PDF: 6-step 48-hour response checklist covering keyword audit, Google Shopping bid review, comparison page creation, email angle, and review acquisition acceleration
  • Shopify sitemap URL reference: standard /sitemap_products_1.xml path, pagination logic (/sitemap_products_2.xml), and fallback collection page scrape approach for stores with non-standard sitemaps

→ [GUMROAD_URL]


$49 — Shopify Competitive Intelligence Pack (3-System Bundle)

Pain #234 (Competitor New Product Launch Monitor) + Pain #233 (Competitor Out-of-Stock Demand Capture System) + Pain #229 (Competitor Price Change Alert). Three pre-built Shopify competitive intelligence automations: know when a competitor launches a new product, goes out of stock on a high-demand SKU, or changes their prices — all within 24 hours. The complete competitive early-warning system for Shopify merchants in contested niches.

→ [GUMROAD_URL]


Requirements: n8n (self-hosted or cloud), Apify account (free tier covers daily sitemap scrape for 5–10 competitor domains at ~$0.10–$0.30/month), Airtable (free tier sufficient for most setups), Slack workspace. No coding required beyond copy-paste JavaScript in the n8n Code node. Setup time: ~65 minutes.


Article 53 | Pain #234 | Shopify Competitor New Product Launch Monitor | 2026-03-31

Top comments (0)