Tally affiliate tracking with Refficks
Tally form submissions, tied to the partner whose link brought the person, so their later payment is credited to that partner.
What it gives you
- Somebody who arrives through a partner's link and then sends the form is tied to that partner. When they later pay, through any payment connection Refficks receives, the sale is credited to the partner who sent them.
- An embedded form tells your page directly, so the email never appears in an address.
What it does not
- A form on its own pays nobody: it is recorded as a lead, never as a new account, so it does not qualify a referral reward that waits for an account. A partner is paid when that person pays, and the payment has to reach Refficks from a connection that names the same email.
- A visitor who has not accepted cookies, or whose browser sends Global Privacy Control, is not named.
- The form needs an email question. The embedded code reads the first one.
- A form on your own Tally custom domain sends its events to that page rather than to yours, so use the redirect there.
Steps
1. Put the Refficks script on every page
Paste the snippet into the head of every page of your site, including any page with a Tally form on it.
2. If the form is embedded on your page
Paste the code below on the page with the form, after the Refficks script. When somebody sends the form, Tally tells the page their answers, and the code passes the email question's answer to Refficks. Nothing goes in the address.
<script> window.addEventListener("message", function (event) { if (event.origin !== "https://tally.so" || typeof event.data !== "string" || event.data.indexOf("Tally.FormSubmitted") === -1) return; var payload; try { payload = JSON.parse(event.data).payload; } catch (error) { return; } var fields = (payload && payload.fields) || []; for (var i = 0; i < fields.length; i++) { var answer = fields[i] && fields[i].answer && fields[i].answer.value; if (fields[i].type === "INPUT_EMAIL" && typeof answer === "string" && answer && window.refficks) { window.refficks.lead({ email: answer }); return; } } }); </script>3. If people open the form on tally.so
In the published form's settings, turn on "Redirect on completion" and enter your thank-you page's address followed by ?email= and then type @ and choose your email question.
Then paste the code below on that thank-you page, after the Refficks script and before any analytics. It reads the email, takes it back out of the address at once, and tells Refficks who sent the form.
<script> (function () { var params = new URLSearchParams(location.search); var email = params.get("email"); if (!email) return; [ "email", ].forEach(function (name) { params.delete(name); }); var rest = params.toString(); history.replaceState(history.state, "", location.pathname + (rest ? "?" + rest : "") + location.hash); (function say(tries) { if (!window.refficks) return tries < 40 && setTimeout(function () { say(tries + 1); }, 250); window.refficks.lead({ email: email }); })(0); })(); </script>4. Send a test submission
Open your site through any partner's link, copied from their page under Partners, and send the form. The checks on this guide in Refficks turn green as each part is seen. The redirect does not run in Tally's preview.
Sources
Have an account? Open this guide in Refficks for your own script and the checks that show when it is working. New to Refficks? Create an account.