@tiny-campaign/sdk
v0.1.1
Published
Framework-independent Tiny Campaign click tracking SDK for browsers and servers.
Readme
Tiny Campaign SDK
Small framework-independent SDK for recording Tiny Campaign clicks from browsers and servers.
Install
npm install @tiny-campaign/sdkBrowser Manual Tracking
import { createBrowserTracker } from "@tiny-campaign/sdk";
const browserTracker = createBrowserTracker({
endpoint: "https://tinycampaign.com",
campaignId: "cmp_...",
});
await browserTracker.trackClick("manual-tracking-code");The browser transport uses navigator.sendBeacon when available, then falls back to fetch with
keepalive. The browser request origin must be allowed in the campaign's tracking settings.
Server Manual Tracking
import { createServerTracker } from "@tiny-campaign/sdk";
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const serverTracker = createServerTracker({
endpoint: env.TINY_CAMPAIGN_URL,
campaignId: env.TINY_CAMPAIGN_CAMPAIGN_ID,
apiKey: env.TINY_CAMPAIGN_API_KEY,
});
await serverTracker.trackClick("manual-tracking-code", request, {
visitorHash: user.idHash,
});
return fetch(request);
},
};Error Handling
Tracking failures are swallowed by default. Set throwOnError: true while testing if you want failed
tracking requests to reject.
const tracker = createBrowserTracker({
endpoint: "https://tinycampaign.com",
campaignId: "cmp_...",
throwOnError: true,
});