Email Subject Line
Variant hashes are computed via Digest::SHA256.hexdigest(subject_string)[0..7].
How to run
Create the experiment
1. Create a new Linear ticket.
Ensure that you set the team to Notifications. This will allow you to choose the push copy experiment template.
2. Fill out the details of the ticket.
3. Assign the ticket to an engineer, that engineer can assign the ticket to Cursor
Note only a user who has Github access to the handshake repo can assign the ticket to Cursor and have Cursor create the PR
4. Review PR
Review the PR to make sure the copy is correct and experiment set up is correct.
5. Start the experiment
If using Launch Darkly and Eppo set the appropriate targets and create the Eppo experiment.g
Create the experiment
1. Create a new Linear ticket.
Ensure that you set the team to Notifications. This will allow you to choose the clean up push copy experiment template.
Notifications
Approve Job Posting
2026-03
| Variant | Hash | Subject | Session Lift | Winner |
|---|---|---|---|---|
| control | 431f6c1a | %{employer_name} just posted a role 🌟 | ||
| variant_a | f061f7b7 | New %{role_name} at %{employer_name} | 2.09% | ✅️ |
| variant_b | ecdcd2ea | %{employer_name} is hiring: %{role_name} | 1.69% | |
| variant_c | 2fb4a84b | Just posted: %{role_name} at %{employer_name} |
Job Application Reminder
2026-02
| Variant | Hash | Subject | Session Lift | Winner |
|---|---|---|---|---|
| control | 0fb01ae3 | 👀 Remember these jobs you checked out? | ||
| variant_a | 24dc302d | %{employer} is still accepting applications | 1.40% | |
| variant_b | b5290df1 | Still interested in this %{job_role} role? | 2.39% | ✅️ |
Job Recommendation Digest
2026-04
| Variant | Hash | Subject | Session Lift | Winner |
|---|---|---|---|---|
| control | 0e8a27e1 | %{employer_name} is hiring %{role} and more | ||
| variant_a | 5a368bb6 | %{first_name}, %{employer_name} is hiring %{role_name} and more |
2026-01
| Variant | Subject | Session Lift | Winner |
|---|---|---|---|
| control | New roles from %{employer_names} hiring now 🚀 | ||
| variant_a | %{employer_name} is hiring %{role} and more | 2.83% | ✅️ |
| variant_b | %{count} roles at %{employer_name} and beyond | −0.52% | |
| variant_c | %{employer_name} may be looking for talent like you — plus more roles inside | 1.01% | |
| variant_d | Don't miss these roles from %{employer_names} | −0.55% |
Saved Search / Digest Job Alert
2026-02
| Variant | Hash | Subject | Session Lift | Winner |
|---|---|---|---|---|
| control | e588997a | ⚡️ Fresh jobs for "{saved_search_name}" | ||
| variant_a | c9f5a973 | "%{saved_search_name}": %{employer_name} - %{job_role} and more | 2.29% | ✅️ |
| variant_b | f855892a | "%{saved_search_name}": {%employer_name} and others are hiring | 1.21% | |
| variant_c | 152208ca | New "%{saved_search_name}" jobs just posted | 1.10% |
Unread Inbox Message Weekly Digest
2025-02
| Variant | Hash | Session Lift | Winner |
|---|---|---|---|
| control | 86bfc37a1748b72bd017ba36d452af9024a42daf724a7a0f30372423af9df5dd | ||
| variant_a | 531c82085b4d16ebc4656f3544267d4c7d29912bbcd7bdb622c4affd1af7ec8e | 2.42% | ✅️ |
| variant_b | 269592639ef0448ade4de8e0546ddfd6e9d4fd54feabfe3144234da99d0a9029 | 1.61% | |
| variant_c | bb2b0db2ab5bbf6dc4fcd398c629799e3c8938fb5ab710d815658914d928f891 | 1.98% |
Hashes are long for this experiment because it was the first time we recorded it. Decided later to use the shorter hashes.
| Variant | Condition | Count | Subject Line |
|---|---|---|---|
| variant_a | with_employer | one | %{employer_name} sent you a new message |
| variant_a | with_employer | other | %{employer_name} and others sent you %{unread_message_count} new messages |
| variant_a | without_employer | one | Someone sent you a new message |
| variant_a | without_employer | other | People sent you %{unread_message_count} new messages |
| variant_b | with_employer | one | New message from %{employer_name} |
| variant_b | with_employer | other | New messages from %{employer_name} and others |
| variant_b | without_employer | one | New message from someone |
| variant_b | without_employer | other | New messages from someone |
| variant_c | with_employer | one | %{employer_name}: %{unread_message_count} new message |
| variant_c | with_employer | other | %{employer_name} and others: %{unread_message_count} new message |
| variant_c | without_employer | one | %{unread_message_count} new message came in |
| variant_c | without_employer | other | %{unread_message_count} new messages came in |