Merge tags and signed uid

A personal timer gives each subscriber their own countdown — “24 hours from when you open this email”. Your email platform tells tikio who is opening by filling in a merge tag.

Subscriber ID merge tags

Add the tag to the timer URL as uid. The platform replaces it with each subscriber's ID when it sends the email; the first open starts that subscriber's clock, and reopening shows the same countdown.

https://t.tikio.io/e/<link-id>.gif?duration=86400&uid=*|UNIQID|*
PlatformSubscriber ID tag
Mailchimp*|UNIQID|*
Klaviyo{{ person.id }}
HubSpot{{ contact.hs_object_id }}
SendGrid{{contact_id}}
ActiveCampaign%SUBSCRIBERID%
Brevo{{ contact.ID }}
Braze{{${user_id}}}
Unisender${user_id}
Kit (ConvertKit){{ subscriber.id }}
Customer.io{{customer.id}}
Iterable{{userId}}
Marketo{{lead.Id}}
Salesforce Marketing Cloud%%SubscriberKey%%
Keap~Contact.Id~
Mailjet[[data:subscriber_id]]
beehiiv{{subscriber_id}}
Amazon SES{{userId}}

We don't know a subscriber ID tag for Constant Contact, Omnisend, GetResponse, AWeber, MailerLite, Campaign Monitor, Drip. Their usual tags hold the email address, and we don't recommend putting that in an image URL. If your account has a contact ID field, use its merge tag. Without a uid, an evergreen timer restarts on every open.

A different deadline for each subscriber

If your platform stores a date per contact (a trial end, a renewal date), put its merge tag into target. It must render as unix seconds or an ISO date with a time zone — see URL parameters.

https://t.tikio.io/e/<link-id>.gif?target={{ person.trial_end }}

Signed uid

Without signing, anyone who can guess another subscriber's uid can see that person's countdown. Turn on Signed uid in the link's settings and every URL must also carry sig — an HMAC-SHA256 of the uid with the link's signing key (shown on the link page). Unsigned requests fall back to the shared countdown.

Turn it on when the timer guards something valuable, like a personal discount or a trial window. Leave it off when the timer is decoration.