← Joburi

Stage 1: Unique-link tracker + delayed SMS/email follow-up (Everflow)

Buget: $30.0 - $60.0 HOURLY / PART_TIME ⭐ 0.00 (0) PHL

api-development, postgresql, node.js, python, javascript, nginx, enterprise-architecture, affiliate-marketing, sms

Calificări preferate

  • Experiență: Expert
We send SMS to our own contact list. Each person gets a unique short link (path only, no query string — carriers strip those and they look like spam). They click, we identify them immediately, and we redirect them into a partner quiz funnel that runs on Everflow. Everflow fires postbacks as they move through the funnel (quiz started / completed, checkout, sale — whatever the partner can send). If a key event fires and no sale follows, we send a delayed email or SMS. Then we stop. That is Stage 1. Build the loop clean and reliable. We will not add dashboards, AI calls, multi-offer routing, or a CDP until this is earning. WHY THIS WORKS The partner only collects name/email on the last page, so they cannot remarket drop-offs. We can, because we already knew the person before they clicked. The unique code in the URL is the join key. WHAT MUST WORK (definition of done) - Unique link per contact: clean path like domain.com/XXXXX (5–8 char random alphanumeric, not sequential integers — sequential IDs are enumerable). - Click-ID round trip: our identifier must reach the offer and come back on the postback, or we cannot attribute the event. - Contact lookup: given a postback, resolve to a person (name, email, phone) via ID, not by stuffing PII into logs. - Data model: name, email, and phone live in ONE contacts table. Clicks, events, and sends reference contact_id only. Delete request = delete that row. We must be able to share logs/DB copies with a developer without handing over the list. - Duplicate handling: affiliate networks retry postbacks. The same event three times must not send three messages. - Delay and cancel: do not send the instant an event fires. Wait, then check for a sale. If they bought, cancel the send. - Suppression at send time: STOP / unsubscribe / complaint = never contact again on any channel. - Full audit log: every click, postback, send decision, and actual send. We must reconstruct any contact's path. - Starting delay logic (tunable later): checkout no sale → SMS ~15 min, email ~1 hour; quiz complete no checkout → SMS ~45 min, email ~4 hours, second email 24 hours; dropped mid-quiz → one email at 24 hours; click with no quiz start → no send this wave. OUT OF SCOPE FOR STAGE 1 No admin UI (reading the DB is fine). No AI voice. No Elasticsearch/CDP. No multi-offer routing. No Keitaro box surgery unless you propose it and own the upgrade risk. ARCHITECTURE — YOU PROPOSE THIS We have a Keitaro licence installed today (clicks, click IDs, postbacks). We also have a short-domain + Cloudflare Worker sketch and an nginx-on-Keitaro sketch. We are NOT prescribing the stack. In your proposal, recommend and justify: 1. Keitaro + a small side service vs a custom tracker vs Worker/short domain vs something else — you will maintain it. 2. Language, hosting, queue/scheduler for delayed cancelable sends. 3. Email and SMS providers (we send SMS to our list; follow-up can be email and/or SMS). 4. How click ID survives into Everflow and back on postback. 5. Realistic hours to a working loop, then a first live test. Apply only if you have shipped something like this (tracker or affiliate postbacks + messaging), not generic "full stack." Cover letter required. Answer every screening question with a real design, not "yes I can." Weak copy-paste will be declined. We are a small performance team. Direct, technical communication. Stage 1 ships when one real contact can click a unique link, fire a postback, wait, and either get one correct follow-up or have it cancelled because they purchased — with PII isolated and retries safe.
Deschide pe Upwork

AI proposal draft

Generate a short cover letter for this job. Edit before sending.

Sign in to generate an AI proposal draft.

Autentificare