Signup attribution

Count signups from your auth database and see which traffic source each user came from.

Connect your auth database in Settings → Signups / Auth and Piqo pulls new users on a schedule, counts them, and ties each one back to the campaign that drove the visit. Two steps: connect, then pass the visitor id at signup.

1. Connect your auth database

  • Supabase — paste your Project URL and service_role key (Project Settings → API).
  • Firebase — paste your service-account JSON (Project Settings → Service accounts → Generate new private key).
  • Clerk — paste your Secret key (API keys → Secret key).

Auth0, NextAuth/Better Auth, Postgres and Cognito are coming soon.

Credentials are encrypted at rest and never shown again.

2. Pass the visitor id at signup

Store the piqo_visitor cookie value as piqo_visitor_id in the new user's metadata. Signups without it still count — they just show as Direct.

Supabase — set it in options.data:

const visitor = getCookie('piqo_visitor');
await supabase.auth.signUp({
  email, password,
  options: { data: { piqo_visitor_id: visitor } },
});

Firebase — set a custom claim server-side after creating the user:

// server-side, with the Firebase Admin SDK
const visitor = req.cookies.piqo_visitor;
await admin.auth().setCustomUserClaims(uid, { piqo_visitor_id: visitor });

Clerk — set unsafeMetadata at signup (client-side, no server needed):

await signUp.create({
  emailAddress, password,
  unsafeMetadata: { piqo_visitor_id: getCookie('piqo_visitor') },
});

What you'll see

Within ~15 minutes the dashboard's Signups tile fills in, and the Signups page lists each user with their source, country, and on-site journey — plus a signups-by-source breakdown.

Where does the visitor id come from? The first-party piqo_visitor cookie Piqo's tracker sets. Read it on your signup page and forward it as shown above.