How to Tell If a Website Uses Affirm
Affirm is a leading US buy-now-pay-later provider. Detect it via the cdn.affirm.com/js/v2/affirm.js script, the global affirm object, the _affirm_config and monthly-payment messaging widgets.
Affirm is one of the leading buy-now-pay-later (BNPL) providers in the US, letting shoppers split a purchase into instalments. Because it loads a distinctive script and shows monthly-payment messaging, detecting it is straightforward: look for cdn.affirm.com/js/v2/affirm.js and "as low as $X/mo with Affirm" messaging. This guide covers every reliable signal, the BNPL model behind them, the other BNPL providers to distinguish it from, and what Affirm usage tells you about the store, its market and its price points. Because Affirm is US-focused and skews toward higher-ticket financing, recognising it also hints at both the merchant's market and the kind of goods it sells.
What is Affirm?
Affirm is a buy-now-pay-later financing provider, primarily in the US (and Canada). It lets shoppers pay for a purchase over time in instalments rather than all at once, with Affirm assuming the credit risk and paying the merchant up front. Merchants integrate Affirm to lift conversion and average order value — especially on higher-ticket items, where the ability to spread payments removes a purchase barrier. Affirm shows promotional monthly-payment messaging ("as low as $X/mo") on product and cart pages and offers a checkout option. It is one of several BNPL players alongside Klarna, Afterpay, Sezzle and Zip.
For detection, the key context is that Affirm signals a US ecommerce merchant offering instalments, frequently a higher-ticket store (furniture, electronics, fitness equipment, fashion, travel) where BNPL has the most impact. Finding it tells you the store actively uses financing to convert price-sensitive shoppers and increase order values. Because Affirm loads from cdn.affirm.com with a public API key and renders recognisable messaging, it is easy to confirm, and the key identifies the merchant. Its presence marks a conversion-focused, often higher-AOV US online store.
How Affirm loads and renders
An Affirm install defines the configuration object _affirm_config with the merchant's public_api_key (and settings like the script URL and locale), then loads cdn.affirm.com/js/v2/affirm.js. This exposes the global window.affirm object, which provides affirm.ui.ready(...) (to render the promotional messaging) and affirm.checkout(...) (to launch the financing checkout). On product and cart pages, Affirm renders monthly-payment messaging — "as low as $X/mo with Affirm" — via its messaging component, and the checkout flow communicates with Affirm's API.
The public_api_key in _affirm_config identifies the merchant's Affirm account, and cdn.affirm.com is the load endpoint. So an Affirm site shows _affirm_config (with the public API key), the cdn.affirm.com/js/v2/affirm.js script, the window.affirm global, and the monthly-payment messaging. Knowing these — the cdn.affirm.com script, the _affirm_config/public_api_key, the affirm global, and the messaging widget — makes detection quick and merchant-identifiable.
How to tell if a website uses Affirm
Confirm at least one strong signal.
1. Check the Network tab. Filter for affirm. The script from cdn.affirm.com/js/v2/affirm.js confirms Affirm.
2. Use the console. Type affirm and press Enter. A returned object with ui and checkout confirms the Affirm library; check _affirm_config for the public API key.
3. Look for the messaging. On product and cart pages, "as low as $X/mo with Affirm" monthly-payment messaging is characteristic.
4. View the source. Search for affirm. The _affirm_config object and the cdn.affirm.com script reference are usually visible.
5. Read the public_api_key. The key in _affirm_config identifies the merchant's Affirm account.
What the Affirm signals look like
<script>_affirm_config = { public_api_key: "ABCDEFGHIJ123456", script: "https://cdn.affirm.com/js/v2/affirm.js" }; … </script>
window.affirm = { ui: { ready: ƒ, … }, checkout: ƒ, … }
<p class="affirm-as-low-as" data-amount="50000" data-page-type="product">as low as $X/mo with Affirm</p>
The cdn.affirm.com/js/v2/affirm.js script, the window.affirm global, the _affirm_config/public_api_key, and the monthly-payment messaging are conclusive.
Affirm versus other BNPL providers — avoiding false positives
Match the domain and global to keep BNPL providers distinct. Affirm uses cdn.affirm.com and the affirm global; Afterpay (Clearpay in the UK) uses afterpay.com/static.afterpay.com and <afterpay-placement> widgets; Klarna uses klarna.com/x.klarnacdn.net and a Klarna/KlarnaOnsiteService global; Sezzle uses widget.sezzle.com and a Sezzle global; Zip (Quadpay) uses its own domains. Each is distinct. The cdn.affirm.com host and affirm global are unique to Affirm. A merchant may offer several BNPL options at once (Affirm + Afterpay + Klarna), so finding Affirm does not exclude the others — check for each. Affirm's US focus also distinguishes it regionally.
How reliable is each Affirm signal?
The cdn.affirm.com/js/v2/affirm.js script and the window.affirm global are definitive, as is _affirm_config with a public_api_key. The monthly-payment messaging corroborates. The public API key reliably identifies the merchant. The weakest situation is a site that loads Affirm only on product/cart pages (not the homepage), so check a product page. As a rule, the cdn.affirm.com script or the affirm global settles it, and the key identifies the merchant.
What Affirm usage reveals about a store
Finding Affirm signals a US ecommerce merchant offering instalments to convert and lift order values, frequently a higher-ticket store where BNPL has the most impact — furniture, electronics, fitness, fashion, jewellery, travel. Its presence tells you the store actively uses financing as a conversion lever, a sign of a sophisticated, AOV-conscious ecommerce operation. The product types and price points where the messaging appears indicate the store's catalogue. If you sell ecommerce, payments, CRO, or financing-adjacent tools, an Affirm store is a US online retailer focused on conversion and order value. Because merchants often stack BNPL options, Affirm's presence alongside Afterpay/Klarna indicates a deliberate multi-option financing strategy aimed at maximising checkout completion.
What finding Affirm means for sales, agencies and competitive research
For sales and prospecting, Affirm marks a US ecommerce merchant — often higher-ticket — investing in BNPL for conversion and AOV. It is a fit for ecommerce, payments, CRO and financing tools.
For agencies and consultants, finding Affirm tells you the client uses financing to convert, so engagements can optimise where and how BNPL messaging appears (it lifts conversion on product and cart pages) or the broader checkout.
For competitive and market research, the BNPL providers a competitor offers (Affirm vs Afterpay vs Klarna, or several) reveal its financing strategy and target market, useful when benchmarking ecommerce checkout and conversion tactics.
Affirm in the wider commerce stack
Affirm sits in the payments/financing layer of a US ecommerce stack. It accompanies an ecommerce platform (Shopify, Magento, BigCommerce or custom), a primary card processor (Stripe, Braintree, or the platform's payments), often other BNPL options (Afterpay, Klarna), a retention tool (Klaviyo), and analytics plus ad pixels. The BNPL messaging is typically placed on product and cart pages to maximise its conversion effect. For an auditor, the valuable details are the public API key, where the messaging appears, which other BNPL and payment options run, and the ecommerce platform; together these reveal a conversion-focused US merchant and its financing strategy. The BNPL mix itself is a useful read. Affirm tends to position toward larger, higher-ticket purchases with longer financing terms, so a store leading with Affirm (rather than, or alongside, the four-payment models of Afterpay and Sezzle) often sells bigger-ticket goods — furniture, electronics, fitness equipment, travel — where monthly instalments matter more than fortnightly ones. Reading which BNPL providers a merchant offers, and which it features most prominently, therefore tells you something about its price points and its customers' purchasing behaviour, which is far more actionable for sales or competitive analysis than simply noting that the store offers financing at all.
A quick Affirm confirmation walkthrough
Open a product page with developer tools on the Network panel and filter for affirm. The script from cdn.affirm.com/js/v2/affirm.js confirms Affirm. In the console, type affirm to confirm the object and check _affirm_config for the public_api_key. Look on the product and cart pages for "as low as $X/mo with Affirm" messaging. The cdn.affirm.com script or the affirm global confirms Affirm, and the key identifies the merchant.
A quick Affirm detection checklist
- Filter the Network tab for
affirm; thecdn.affirm.com/js/v2/affirm.jsscript is conclusive. - Type
affirmin the console; check_affirm_configfor thepublic_api_key. - Look for "as low as $X/mo with Affirm" messaging on product/cart pages.
- Read the
public_api_keyto identify the merchant. - Check whether other BNPL options (Afterpay, Klarna, Sezzle) also run.
- Note Affirm's US focus when inferring the merchant's market.
Detecting Affirm at scale
Checking one store is quick, but mapping BNPL adoption across many domains — to find US merchants offering financing — calls for automation. StackOptic detects Affirm and thousands of other technologies from a real browser, reading the script, global and messaging. For related reading, see our guide to finding out what payment processor a website uses and the full Affirm technology profile.
Frequently asked questions
What is the fastest way to tell if a site uses Affirm?
Open the Network tab and filter for 'affirm'. The script loads from cdn.affirm.com/js/v2/affirm.js. On product and cart pages you will also see 'as low as $X/mo with Affirm' messaging, and in the console the global affirm object confirms it.
What is _affirm_config?
_affirm_config is the configuration object Affirm's snippet defines, containing the merchant's public_api_key and settings before loading affirm.js. Finding _affirm_config with a public_api_key confirms Affirm and identifies the merchant account.
What does the 'as low as $X/mo' messaging indicate?
That monthly-payment messaging is Affirm's promotional widget (rendered by affirm.ui.ready and the messaging script) showing customers they can pay in instalments. Its presence on product and cart pages, alongside the cdn.affirm.com script, is a strong Affirm signal.
Is Affirm US-focused?
Yes. Affirm is primarily a US (and Canada) buy-now-pay-later provider. So finding Affirm strongly implies a US-market ecommerce merchant. (Afterpay, Klarna, Sezzle, Zip and others cover overlapping and additional markets.)
What does it mean if a site uses Affirm?
Affirm is a US buy-now-pay-later provider. Finding it signals a US ecommerce merchant — often higher-ticket — offering instalment payments to lift conversion and average order value, indicating an active, conversion-focused online store.
Analyse any website with StackOptic
Get the full technology stack, performance, security and SEO report in seconds — free.
Analyse a websiteRelated articles
How to Tell If a Website Uses Heap
Heap (Heap Analytics) autocaptures product events. Detect it via the cdn.heapanalytics.com script, the global heap object, heapanalytics.com beacons and _hp2 cookies.
How to Tell If a Website Uses Foundation
Foundation (by Zurb) is a responsive front-end framework. Detect it via its grid classes (row/columns, grid-x/cell), data-* component attributes and the foundation.css/js files.
How to Tell If a Website Uses Crisp
Crisp is a developer-friendly, affordable live-chat and messaging tool. Detect it via the client.crisp.chat/l.js script, the window.$crisp object and the CRISP_WEBSITE_ID value.