Tech Stack & CMS Detector — Technology Check, Pixels & Shopify
Pricing
from $3.50 / 1,000 tech stack check (site read)s
Tech Stack & CMS Detector — Technology Check, Pixels & Shopify
Tech stack and CMS detection, a Wappalyzer / BuiltWith alternative. Finds pixels other detectors miss: those loaded through Google Tag Manager and Shopify apps. Domains in, one row out: CMS, analytics, chat, payments, ad pixels and marketing tools, with evidence and tracking IDs. JSON/CSV/API/MCP.
Pricing
from $3.50 / 1,000 tech stack check (site read)s
Rating
0.0
(0)
Developer
Brenton Keller
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
an hour ago
Last modified
Categories
Share
Tech Stack & CMS Detector: Technology Check, Pixels & Shopify
Give it a list of domains. You get one row per site listing the CMS, analytics, chat, payment, ad-pixel and marketing tools it runs. Each technology comes with the evidence that matched it, and the tracking IDs it found (GA4, Google Ads, Meta pixel, TikTok, Pinterest, GTM, HubSpot portal, Klaviyo account).
An alternative to BuiltWith and Wappalyzer that finds pixels other detectors miss: those loaded through Google Tag Manager and Shopify apps. On 20 Shopify stores tested, that was 48 technologies a page scan does not see.
Built for lead enrichment. Use it to find Shopify stores running Klaviyo, B2B sites with a LinkedIn Insight Tag but no chat widget, or WordPress sites with no analytics at all.
Why this one sees more
It reads the Google Tag Manager container. Most ad pixels (Meta, LinkedIn, TikTok, Bing, Reddit) are not in a site's HTML. They are loaded by Tag Manager after the page opens. A detector that only scans the HTML reports these sites as having no pixels. This actor fetches the site's public gtm.js container, the same file every visitor's browser loads, and counts the tags it actually fires.
On 30 well-known sites tested, half of everything found (120 of 239 technologies) was visible only inside the Tag Manager container.
It reads the container carefully. GTM's own runtime code mentions Google's ad products on every site, and paused tags still ship inside the container. Counting either would report technologies the site does not use. Only live tags, the templates they call, and the variables they read are counted.
It reads Shopify's web pixels. Shopify apps such as Facebook & Instagram, Google & YouTube, TikTok, Pinterest and Klaviyo now install their tracking as sandboxed "web pixels". These never appear as script tags or in Tag Manager. The storefront still embeds each app pixel's settings, and the actor reads them. Only pixels that are actually configured count: an app installed but never set up is not reported. On 20 Shopify stores tested, this found 48 ad pixels and tools that a page scan misses, including the Meta pixel on 8 stores.
It doesn't sell you a guess. If Cloudflare, DataDome, Akamai, Fastly, PerimeterX, Imperva, AWS WAF or Vercel answers with a challenge page instead of the site, you get an error row saying which one, and you are not charged. A tool that reads the challenge page instead would report "uses Cloudflare, nothing else".
Every detection shows its evidence. For example, meta_pixel: "tag manager GTM-ABC123: connect.facebook.net/en_US/fbevents.js". If you doubt a row, you can see why it says what it says.
Input
{"domains": ["allbirds.com", "webflow.com", "techcrunch.com", "https://acme.com/pricing"]}
- A bare domain is tried at
https://domain/, thenhttps://www.domain/, thenhttp://domain/. - A full URL is fetched exactly as given. Use this to check a pricing or checkout page, which is where payment providers usually load.
| Option | Default | What it does |
|---|---|---|
inspectTagManager | true | Reads Tag Manager containers. Costs one extra request per container. Containers shared across sites are fetched once. |
maxTagManagerContainers | 2 | Most sites have one container. Some load an agency container and an in-house one. |
includeEvidence | true | Up to three evidence strings per technology. Turn it off for smaller rows. |
maxConcurrency | 8 | Sites checked in parallel. |
requestTimeoutSecs | 20 | A site that doesn't answer in time becomes a free error row. |
proxyConfiguration | none | Not needed for most sites. Add a residential proxy for sites behind aggressive bot protection. |
Output
One row per input, in input order. A line that repeats an earlier one (ignoring case and a trailing slash) is checked and charged once, so it gets no second row. shop.acme.com and acme.com are different sites and each get a row.
{"query": "allbirds.com","final_domain": "allbirds.com","tech_count": 14,"cms": ["shopify"],"analytics": ["elevar", "google_tag_manager", "microsoft_clarity"],"chat": [],"payments": [],"ads": ["criteo", "google_ads", "meta_pixel", "microsoft_ads", "outbrain", "reddit_pixel", "tiktok_pixel"],"marketing": ["attentive", "yotpo"],"consent": [],"frameworks": [],"hosting": ["cloudflare"],"tracking_ids": {"google_tag_manager": ["GTM-TH8KRSBJ"], "google_ads": ["AW-786649265", "AW-736740096"], "reddit_pixel": ["t2_b4kw4fzh"], "microsoft_clarity": ["yrlg0i3snv"]},"shopify_store": "weareallbirds.myshopify.com","is_parked": false,"evidence": {"meta_pixel": ["tag manager GTM-TH8KRSBJ: connect.facebook.net/en_US/fbevents.js"], "...": []}}
Categories:
cms: CMS or storefront platformanalyticschat: chat and support widgetspaymentsads: ad pixelsmarketing: marketing automation, email, ABM, reviews and schedulersconsent: cookie consent toolsframeworkshosting: hosting and CDN
The fingerprint table covers 180+ technologies, including:
- CMS: WordPress, WooCommerce, Shopify, Webflow, Squarespace, Wix, Framer, HubSpot CMS, Drupal, BigCommerce, Magento, Salesforce Commerce Cloud, Contentful and Sanity.
- Analytics: Google Analytics, Segment, Mixpanel, PostHog, Amplitude, Heap, Hotjar and FullStory.
- Chat: Intercom, Zendesk, Drift, Crisp, LiveChat, HubSpot Chat, Gorgias and Qualified.
- Payments: Stripe, PayPal, Braintree, Shop Pay, Klarna, Afterpay, Affirm, Adyen and Paddle.
- Ad pixels: Google Ads, Meta, TikTok, LinkedIn, X, Pinterest, Snap, Microsoft, Reddit and AppLovin Axon.
- Marketing: HubSpot, Marketo, Pardot, Mailchimp, Klaviyo, Braze, Attentive, Nosto, Dynamic Yield, 6sense, ZoomInfo, Clearbit and Demandbase.
shopify_store is the store's permanent *.myshopify.com handle. It stays the same when the store changes its domain.
What it cannot see
This actor reads the HTML a browser receives. It does not run the page's JavaScript. So these are invisible to it:
- Tools bundled into the site's own JavaScript. stripe.com serves Stripe.js from its own bundle, and posthog.com does the same with PostHog. The vendor's script URL never appears.
- Tools loaded only on other pages. Payment providers usually load only at checkout or on the pricing page. An empty
paymentslist on a homepage is not proof the site takes no payments. Pass that page's URL to check it. - Shopify custom pixels. App pixels are read (see above), but Shopify doesn't expose the code of a store's own custom pixels. The
hintsays how many a store runs. - Tags that only fire after login, and server-side tagging where the browser never contacts the vendor.
Pricing
$0.005 per site read. Error rows are free. These include unreachable sites, bot-protection challenges, invalid inputs and public suffixes. One site's price covers the homepage fetch and its Tag Manager containers.
Errors
| Error | Meaning |
|---|---|
Blocked by <vendor> bot protection | A challenge page answered instead of the site. Not charged. Try a residential proxy. |
Site unreachable: … | DNS, TLS, timeout or an HTTP error on every URL variant. Not charged. |
… is a public suffix | You entered something like co.uk, which can't be a website. Not charged. |
A hint field explains caveats on successful rows: a redirect to another domain, a parked domain, an unreadable Tag Manager container, Shopify custom pixels that can't be read, or a page truncated at 3 MB.
Wappalyzer and BuiltWith are trademarks of their owners. This actor is an independent tool, is not affiliated with or endorsed by either, and uses its own fingerprint set rather than their data.