Tracking Script Reference
Install snippet
<script>
(function (w, r) {
w._abq = w._abq || [];
w[r] =
w[r] ||
function () {
(w[r].q = w[r].q || []).push(arguments);
};
})(window, "affiliatebase");
</script>
<script
async
src="https://app.affiliatebase.io/track.js"
data-account-id="YOUR_ACCOUNT_ID"
></script>
Script attributes
| Attribute | Required | Notes |
|---|---|---|
data-account-id | Yes | Account id (data-account alias also supported) |
data-api-url | No | Override API base URL (useful for local dev) |
data-debug | No | true enables client logs |
data-affiliatebase-params | No | Comma-separated custom attribution params |
data-params | No | Alias for data-affiliatebase-params |
data-domains | No | Comma-separated domains for cross-domain referral tagging |
data-request-timeout-ms | No | Request timeout (default 8000) |
data-respect-dnt | No | true skips tracking requests when DNT is enabled |
URL parameter behavior
Priority:
?referral=<REFERRAL_ID>(preloads existing referral id)?via=<TOKEN>(canonical token parameter)- Custom params from
data-affiliatebase-params(for example?partner=<TOKEN>)
Runtime methods
affiliatebase("convert", { email: "[email protected]" });
affiliatebase("identify", { email: "[email protected]" }); // alias
affiliatebase("source", "affiliate_token");
affiliatebase("track", "affiliate_token"); // alias
affiliatebase("ready", () => console.log("loaded"));
affiliatebase("debug", true);
affiliatebase("set_debug", true); // alias
affiliatebase("reset");
affiliatebase("clear"); // alias
affiliatebase("referral"); // returns referral id
affiliatebase("state"); // returns full attribution state
Global state
window.AffiliateBase.referral;
window.AffiliateBase.affiliate;
window.AffiliateBase.campaign;
window.AffiliateBase.coupon;
window.affiliatebase_referral; // legacy alias getter
Automatic integrations
Forms
Add data-affiliatebase to a form to auto-inject a hidden referral input when attribution exists.
<form data-affiliatebase action="/signup" method="POST">
...
</form>
Optional custom hidden field name:
<form data-affiliatebase data-affiliatebase-param-name="referral_id">
...
</form>
Stripe Buy Buttons and Pricing Tables
Add data-affiliatebase and the script sets client-reference-id automatically.
<stripe-buy-button data-affiliatebase ...></stripe-buy-button>
<stripe-pricing-table data-affiliatebase ...></stripe-pricing-table>
Stripe Payment Links
For links marked data-affiliatebase, the script appends client_reference_id=<referral>.
<a data-affiliatebase href="https://buy.stripe.com/...">Buy</a>
Cross-domain tagging
With data-domains="example.com,checkout.example.com", matching external links are tagged with referral=<referral_id>.
Browser events
AffiliateBase.initializedAffiliateBase.trackedAffiliateBase.reset
Example:
window.addEventListener("AffiliateBase.tracked", (event) => {
console.log(event.detail.referral);
});
Local development
Point the script at your local API:
<script
async
src="/track.js"
data-account-id="YOUR_ACCOUNT_ID"
data-api-url="http://localhost:3000"
data-debug="true"
></script>