Fill one row per link · send the CSV + specs in one batch · I build all links at once
1 promo link = 1 dedicated Salesforce product = 1 unique ProductCode.
Sales are charged through Blackthorn on Authorize.net 7ZvLv33a6Q, which creates
the Salesforce Opportunity automatically. Attribution is the ProductCode on a line item of that
Opp. So if two affiliates sell the same offer, that is two links and two products, or their
sales cannot be told apart. The generic products (Testosterone, Estradiol, etc.) are shared
across all orders, so each promo needs its own dedicated product. Decide your
reporting grain, then give me one row per link at that grain.
| Field | What it is | Rules |
|---|---|---|
promo_id | stable unique id | PL-<AFFILIATE>-<OFFER>, UPPER, no spaces. Never reused. |
slug | the /go/<slug> path | lowercase, hyphens, url-safe, unique. |
name | display label | e.g. Jordie · Recharge Bundle. No em-dashes (use ·, hyphen, comma). |
affiliate | who owns the link | real name. No placeholders. |
campaign | campaign bucket | e.g. Summer Recharge. |
product | the offer sold | what the customer buys. |
price_point | price in USD | number, e.g. 249. One price per link. |
source | traffic channel | Instagram / YouTube / TikTok / Email. |
states_allowed | states this may sell into | list, or ALL-LICENSED. Androgenix is not licensed everywhere (e.g. WI); checkout is gated to this. |
date_created | launch date | YYYY-MM-DD. |
blackthorn_payment_url | the Blackthorn payment link a buyer pays through | must create an Opp carrying this promo's dedicated product. Becomes the /go/<slug> redirect target. |
The critical requirement on your side: each promo's Blackthorn payment link must put that promo's dedicated product on the resulting Opportunity. If it does not, the sale is invisible to the dashboard. Also give me, per link: a compliance-passed description (1 to 3 sentences) and an optional image.
states_allowed; do not sell into unlicensed states.PROMO-<AFFILIATE>-<OFFER>) — so you can confirm the Blackthorn payment link attaches the matching product.7ZvLv33a6Q payment path.