URL parameters

Use this page to build a link that changes how the next page behaves: which currency it prices in, which packages land in the cart, which affiliate gets credited, whether the visit is tracked at all.

The SDK reads these off the query string when the page boots. Nothing about them appears in your markup, so they are easy to miss and easy to leave on a link by accident. Each entry says whether it is safe to publish, whether removing it undoes it, and who writes it.

Development only

These change what a real visitor experiences or what reaches a real API. Use them locally, and never leave one on a link that ships.

ParameterDescription
debuggerOpens the on-page debug overlay — cart, campaign, order, checkout, and analytics panels, plus the currency, country, and upsell pickers — and turns logging all the way up.
testMarks the page as being in test mode, which lets the test-card helpers fill the checkout form with a known card number.
resetClears the SDK's stored state before anything else loads, then removes itself from the URL so a refresh does not clear the page again.
forcePackageIdEmpties the cart and puts the listed packages in it, with an optional quantity after a colon (default 1).

Sticky parameters

These copy their value into storage the first time they are seen, so they keep applying on later pages in the tab without the parameter. Removing it from the URL does not undo it. Open a new tab instead.

ParameterDescription
currencyLoads the campaign priced in this currency and shows every price in it.
countryOverrides the detected country: it loads that country's address rules — state list, the label and format of the postcode field — and pre-selects it as the shipping destination.
ignoreStops analytics entirely for this visitor: no provider is initialised and no event is sent.
funnelNames the funnel this visit belongs to, and is the highest-priority source: it overrides both a funnel already remembered for this visitor and the page's next-funnel meta tag.

Debugging

ParameterDescription
debugUn-suppresses logging.

Forcing a page into a state

ParameterDescription
forceShippingIdSelects a shipping method by its campaign id, so you can test a specific rate — free shipping, expedited — without going through the picker.
forceBundleIdPre-selects a bundle card, overriding the card marked data-next-selected.

Loading an order

ParameterDescription
ref_idLoads that order when the page opens, which is what makes a receipt page show its totals and an upsell page know what was bought.
order_ref_idAn alternative spelling of ref_id, read only when ref_id is absent.

Analytics

These name the list a product view or click came from, so a report can tell a search result from a category browse. ignore is the exception: it switches reporting off entirely.

The SDK does not search or filter anything. These describe a page your site already renders: on your search page, ?q=blue+widget makes the SDK report clicks there as Search Results: blue widget.

For the list-attribution parameters, the URL path wins. A path containing /search, /collections/, /category/, /tag/ or /brand/ is used instead and the parameter is never read. ignore is unaffected: it is read straight off the URL.

ParameterDescription
categoryNames the list a product view or click should be attributed to, when the page is a category listing whose URL path does not already say so.
collectionThe same list attribution as category, for pages that call the grouping a collection.
qMarks the page as search results and puts the search text in the reported list name.
queryA second accepted spelling of the search term, read after q.
searchA third accepted spelling of the search term, read after query.

Attribution

ParameterDescription
affidThe affiliate credited with the order.
affShort alias for affid, read only when affid is absent.
gclidThe Google Ads click id, added automatically by Google when auto-tagging is on.
fbclidThe Facebook click id, added by Facebook on outbound clicks.
clickidA generic click id for tracking platforms that do not use one of the named parameters.
evclidThe Everflow click id, sent with the order as its Everflow transaction id so the network can attribute the conversion.
utm_sourceWhich site or platform the visit came from.
utm_mediumWhat kind of link it was — cpc, email, social.
utm_campaignWhich marketing campaign the link belongs to.
utm_contentWhich specific creative or link variant was clicked.
utm_termThe paid keyword the visit was bought against.
subaffiliate1Sub-affiliate tracking slot 1 of 5, for an affiliate network that passes its own placement or creative ids through.
sub1Short alias for subaffiliate1, read only when the long form is absent.
subaffiliate2Sub-affiliate tracking slot 2 of 5, for an affiliate network that passes its own placement or creative ids through.
sub2Short alias for subaffiliate2, read only when the long form is absent.
subaffiliate3Sub-affiliate tracking slot 3 of 5, for an affiliate network that passes its own placement or creative ids through.
sub3Short alias for subaffiliate3, read only when the long form is absent.
subaffiliate4Sub-affiliate tracking slot 4 of 5, for an affiliate network that passes its own placement or creative ids through.
sub4Short alias for subaffiliate4, read only when the long form is absent.
subaffiliate5Sub-affiliate tracking slot 5 of 5, for an affiliate network that passes its own placement or creative ids through.
sub5Short alias for subaffiliate5, read only when the long form is absent.

Written by the SDK

ParameterDescription
payment_failedAdded by the SDK to the fallback failure URL — the current page — when no next-failure-url meta tag is set.

Parameter reference

One section per parameter, with a copy-paste example. Names are checked against the source in both directions by src/tests/docs/coreContracts.test.ts.

currency

Loads the campaign priced in this currency and shows every price in it. Highest priority of all the currency sources — it beats a currency the visitor picked earlier and the one detected from their location.

CODE
?currency=EUR

Value: string (3-letter currency code) Default: the currency detected from the visitor's location Read by: SDK boot / campaign load

Sticky. The value is stored on first sight and keeps applying without the parameter.

country

Overrides the detected country: it loads that country's address rules — state list, the label and format of the postcode field — and pre-selects it as the shipping destination.

CODE
?country=CA

Value: string (2-letter country code) Default: the country detected from the visitor's location Read by: SDK boot / checkout address form

Sticky. The value is stored on first sight and keeps applying without the parameter. It does not change the currency. Set ?currency= too, or you get one country’s address fields beside another’s prices.

debug

Un-suppresses logging. The production bundle drops every debug, info, and warn line unless this is set; with it, the SDK narrates what it is doing in the console. That is all it does.

CODE
?debug=true

Value: 'true' Default: off Read by: Logger / attribute scanner

Watch out: It does not open the debug overlay. That is ?debugger=true, one letter apart.

debugger

Opens the on-page debug overlay — cart, campaign, order, checkout, and analytics panels, plus the currency, country, and upsell pickers — and turns logging all the way up. This is the parameter you want when you mean "show me the debug panel".

CODE
?debugger=true

Value: 'true' Default: off Read by: Debug overlay / test mode

Never leave this on a link that ships. It also silently puts the page into test mode, so a debugging session on a live page can post a test order.

test

Marks the page as being in test mode, which lets the test-card helpers fill the checkout form with a known card number. ?debugger=true turns it on too, and the Konami code (↑↑↓↓←→←→BA) both turns it on and writes this parameter into the address bar.

CODE
?test=true

Value: 'true' Default: off Read by: Test mode manager

Never leave this on a link that ships. The Konami code (↑↑↓↓←→←→BA) turns test mode on from any page, including production, and fills the checkout with a hard-coded address and card_token: "test_card". That is a real API call creating a real record.

reset

Clears the SDK's stored state before anything else loads, then removes itself from the URL so a refresh does not clear the page again. The way out of a session wedged by an earlier test.

CODE
?reset=true

Value: 'true' Default: off Read by: SDK boot

Never leave this on a link that ships. It clears less than the name suggests: only keys beginning next- or _next. The remembered currency, country, funnel and analytics-ignore flag all survive. Open a new tab instead.

forcePackageId

Empties the cart and puts the listed packages in it, with an optional quantity after a colon (default 1). Made for jumping straight to a checkout or upsell page with a known cart instead of clicking through the funnel.

CODE
?forcePackageId=123:2,124

Value: string — {ID} or {ID}:{QTY}, comma-separated Read by: SDK boot → cart

Never leave this on a link that ships. The cart is emptied first, unconditionally, so a real visitor who follows the link loses what they had.

forceShippingId

Selects a shipping method by its campaign id, so you can test a specific rate — free shipping, expedited — without going through the picker.

CODE
?forceShippingId=3

Value: number (a shipping method ref_id) Read by: SDK boot → cart

forceBundleId

Pre-selects a bundle card, overriding the card marked data-next-selected. Scope it to one selector with {SELECTOR_ID}:{BUNDLE_ID} when the page has several; an unscoped value applies to the first selector that has a card with that id.

CODE
?forceBundleId=tier-selector:premium

Value: string — {BUNDLE} or {SELECTOR}:{BUNDLE}, comma-separated Read by: Bundle selector

ref_id

Loads that order when the page opens, which is what makes a receipt page show its totals and an upsell page know what was bought. The SDK appends it for you to the success, upsell, and decline URLs it redirects to, so a well-configured funnel never needs it written by hand.

CODE
?ref_id={ORDER_REF}

Value: string (order reference) Read by: SDK boot → order store; checkout and upsell redirects

Watch out: It is an order reference in a URL the visitor can edit, so treat anything it renders as public.

order_ref_id

An alternative spelling of ref_id, read only when ref_id is absent. Present for links built by older tooling.

CODE
?order_ref_id={ORDER_REF}

Value: string (order reference) Read by: SDK boot → order store

ignore

Stops analytics entirely for this visitor: no provider is initialised and no event is sent. Use it so your own testing, QA, and demo traffic does not land in the reports.

CODE
?ignore=true

Value: 'true' Default: off Read by: Analytics

Sticky. The value is stored on first sight and keeps applying without the parameter. There is no on-page sign that tracking is off, and it lasts the whole tab.

category

Names the list a product view or click should be attributed to, when the page is a category listing whose URL path does not already say so.

CODE
?category=summer-sale

Value: string Read by: Analytics list attribution

collection

The same list attribution as category, for pages that call the grouping a collection. Read after category.

CODE
?collection=bestsellers

Value: string Read by: Analytics list attribution

q

Names the search term this page is showing results for, so product clicks report as Search Results: {term}. It does not run a search.

CODE
?q=protein+powder

Value: string Read by: Analytics list attribution

query

A second accepted spelling of q, read when q is absent.

CODE
?query=protein+powder

Value: string Read by: Analytics list attribution

A third accepted spelling, read when query is absent. All three produce the same list id, search_results.

CODE
?search=protein+powder

Value: string Read by: Analytics list attribution

funnel

Names the funnel this visit belongs to, and is the highest-priority source: it overrides both a funnel already remembered for this visitor and the page's next-funnel meta tag.

CODE
?funnel=summer-bundle-2026

Value: string Default: a remembered funnel, then the next-funnel meta tag Read by: Attribution collector

Sticky. The value is stored on first sight and keeps applying without the parameter.

affid

The affiliate credited with the order. Remembered for the rest of the browser tab and sent with every order placed in it.

CODE
?affid={AFFILIATE_ID}

Value: string Read by: Attribution collector

aff

Short alias for affid, read only when affid is absent.

CODE
?aff={AFFILIATE_ID}

Value: string Read by: Attribution collector

gclid

The Google Ads click id, added automatically by Google when auto-tagging is on. Stored and sent with the order so a conversion can be matched back to the click.

CODE
?gclid={GOOGLE_CLICK_ID}

Value: string Read by: Attribution collector

fbclid

The Facebook click id, added by Facebook on outbound clicks. Recorded in the order's attribution metadata when present.

CODE
?fbclid={FACEBOOK_CLICK_ID}

Value: string Read by: Attribution collector

clickid

A generic click id for tracking platforms that do not use one of the named parameters. Passed through to the order's attribution metadata unchanged.

CODE
?clickid={CLICK_ID}

Value: string Read by: Attribution collector

evclid

The Everflow click id, sent with the order as its Everflow transaction id so the network can attribute the conversion.

CODE
?evclid={EVERFLOW_CLICK_ID}

Value: string Read by: Attribution collector (Everflow)

utm_source

Which site or platform the visit came from. Stored on the attribution record and sent with the order.

CODE
?utm_source={VALUE}

Value: string Read by: Attribution collector

utm_medium

What kind of link it was — cpc, email, social. Stored on the attribution record and sent with the order.

CODE
?utm_medium={VALUE}

Value: string Read by: Attribution collector

utm_campaign

Which marketing campaign the link belongs to. Stored on the attribution record and sent with the order.

CODE
?utm_campaign={VALUE}

Value: string Read by: Attribution collector

utm_content

Which specific creative or link variant was clicked. Stored on the attribution record and sent with the order.

CODE
?utm_content={VALUE}

Value: string Read by: Attribution collector

utm_term

The paid keyword the visit was bought against. Stored on the attribution record and sent with the order.

CODE
?utm_term={VALUE}

Value: string Read by: Attribution collector

subaffiliate1

Sub-affiliate tracking slot 1 of 5, for an affiliate network that passes its own placement or creative ids through. Sent with the order.

CODE
?subaffiliate1={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

sub1

Short alias for subaffiliate1, read only when the long form is absent.

CODE
?sub1={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

subaffiliate2

Sub-affiliate tracking slot 2 of 5, for an affiliate network that passes its own placement or creative ids through. Sent with the order.

CODE
?subaffiliate2={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

sub2

Short alias for subaffiliate2, read only when the long form is absent.

CODE
?sub2={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

subaffiliate3

Sub-affiliate tracking slot 3 of 5, for an affiliate network that passes its own placement or creative ids through. Sent with the order.

CODE
?subaffiliate3={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

sub3

Short alias for subaffiliate3, read only when the long form is absent.

CODE
?sub3={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

subaffiliate4

Sub-affiliate tracking slot 4 of 5, for an affiliate network that passes its own placement or creative ids through. Sent with the order.

CODE
?subaffiliate4={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

sub4

Short alias for subaffiliate4, read only when the long form is absent.

CODE
?sub4={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

subaffiliate5

Sub-affiliate tracking slot 5 of 5, for an affiliate network that passes its own placement or creative ids through. Sent with the order.

CODE
?subaffiliate5={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

sub5

Short alias for subaffiliate5, read only when the long form is absent.

CODE
?sub5={VALUE}

Value: string (max 225 characters) Read by: Attribution collector

payment_failed

Added by the SDK to the fallback failure URL — the current page — when no next-failure-url meta tag is set. It is a signal for your page to explain that payment did not go through.

CODE
?payment_failed=true

Value: 'true' Read by: Checkout