To measure a customer referral program, track participation, qualified signups, new paying customers, retention and full program cost for the same defined cohort. Give every rate an explicit denominator. Then calculate acquisition cost and contribution before deciding whether to expand the program.
This guide includes a completed scorecard, a small event-audit example and copyable spreadsheet formulas. All numbers are fictional, in USD, and illustrate a method. They are not Blitz Rocket customer results, benchmarks or a forecast. The examples concern customer referrals, not employee recruitment or sales references.
The referral program metrics to start with
Use these eight measures as a working set. Add channel or reward breakdowns only when they help you make a decision. On a small screen, scroll tables sideways to see all columns.
| Metric | Definition used in this guide | Worked result |
|---|---|---|
| Advocate participation | Unique confirmed sharers ÷ eligible advocates | 120 ÷ 1,000 = 12% |
| Visitor-to-signup conversion | Qualified new signups ÷ referred visitor browser IDs | 180 ÷ 600 = 30% |
| Signup-to-paid conversion | Qualified new paying customers ÷ qualified new signups | 60 ÷ 180 = 33.33% |
| Visitor-to-paid conversion | Qualified new paying customers ÷ referred visitor browser IDs | 60 ÷ 600 = 10% |
| Day-30 retention | Customers meeting the day-30 return rule ÷ qualified new paying customers | 48 ÷ 60 = 80% |
| Referral customer acquisition cost (CAC) | Total allocated program cost ÷ qualified new paying customers | $1,800.00 ÷ 60 = $30.00 |
| Cost per day-30 retained customer | Same program cost ÷ day-30 retained customers | $1,800.00 ÷ 48 = $37.50 |
| Attributed contribution return | (Contribution before program cost − program cost) ÷ program cost | ($3,000.00 − $1,800.00) ÷ $1,800.00 = 66.67% |
Multiply a rate by 100 to display a percentage. A zero denominator produces an undefined result; label it “N/A.” Missing tracking produces “unknown,” not zero.
Define each event before comparing rates
“Referral rate” can mean shares per advocate, referred purchases as a share of all purchases, or the percentage of customers who participate. These measure different things. Extole’s measurement documentation explicitly notes that names and calculations depend on event mapping. Its share-rate denominator is promotions clicked; our participation denominator is eligible advocates.
For every scorecard, write down the event, counting unit, inclusion rule, attribution window, observation period and source. A share-button click establishes a sharing attempt; it does not prove a message was delivered. Call that metric “share attempts” if that is all you can observe. This example assumes confirmed share records; if your channel cannot provide them, leave confirmed sharers unknown.
Keep visitors and people separate. Before signup, this example deduplicates browser visitor IDs. After signup, it uses stable customer IDs. One person can use several browsers, so the 30% visitor-to-signup result is a browser-based reporting ratio, not a verified probability per unique person. GA4 cohort explorations also have specific inclusion and return rules and use device data; they should not silently replace a customer-ID cohort.
For the example, a customer can receive credit from only one advocate: the first valid referral click within the attribution window. Exclude self-referrals and existing customers according to the program’s published eligibility rules. A later paid ad does not create a second new customer in the combined acquisition report. Keep referral attribution and other channels’ assists as separate fields.

Use a cohort with enough time to convert and return
A cohort is a fixed group with a shared inclusion rule. For this fictional paid software program, use the following contract:
- Advocates: 1,000 eligible customers as of July 1, 2026; 120 have a confirmed share during July 1–7.
- Friend cohort: 600 distinct referred browser visitor IDs first arriving during July 1–7, linked to those advocates.
- Signup window: the first valid attributed visit must lead to a new eligible signup within 14 days.
- Purchase window: the first paid order must occur within 30 days after that signup.
- Qualification: exclude existing customers, self-referrals and duplicate records; a fully refunded first order during its 30-day review period does not qualify. Record partial refunds in net revenue.
- Retention: a qualified customer is retained if their paid account remains active on day 30 after the first purchase and they completed at least one core product action on days 24–30. Use this exact rule for both comparison cohorts.
The latest visitor arrives July 7, can sign up by July 21 and buy by August 20. The final 30-day refund review and retention observation end September 19. Earlier members mature sooner; the complete cohort cannot be final before September 19. Treat the 14/30/30-day windows as example reporting choices, not industry standards or universal software defaults.
Compare that cohort with another fully matured cohort using the same rules. Keep a separate recent-cohort view for monitoring. Do not compare seven days of outcomes from this week’s signups with 30 days from last month’s signups. If your actual refund window is longer, move the finalization date accordingly and version later reversals rather than quietly rewriting history.
For a newsletter, a paid-customer denominator may be inappropriate: use confirmed eligible subscribers and a defined later engagement event instead. The newsletter referral launch guide explains reward planning for that different goal.
Reconcile raw events to qualified customers
Count customer outcomes after reconciling event deliveries. A webhook retry, an extra page view and a repeat purchase do not each represent another acquired customer.
| Reconciliation step | Signup records | Purchase records |
|---|---|---|
| Raw event deliveries | 200 | 68 |
| Remove repeated deliveries of the same event ID | −12 | −4 |
| Remove existing-customer records | −8 | −2 |
| Remove fully refunded first orders during review | Not applicable | −2 |
| Qualified outcome | 180 new signups | 60 new paying customers |
In this fixture, the remaining signup events each belong to a different customer, the remaining purchase events each represent a different customer’s first order, and every qualifying buyer joins to a qualifying signup in the same cohort. These are properties of this deliberately constructed fictional fixture, not assumptions to make about a production export. In production, also collapse different event IDs for the same signup, repeated orders for the same customer and overlapping campaign claims. Apply exclusions sequentially so one record is not subtracted twice.
The two existing-customer orders belong to the excluded signup accounts. The two fully refunded new customers remain among the 180 signups but leave the qualified-paid count. The 60 qualified customers include the 48 who meet the retention rule; a customer can have paid without meeting that later rule.
A small audit fixture to test your counting rules
This separate eight-row diagnostic sample illustrates individual decisions; the larger table above shows aggregate counts. It shows why both event IDs and customer/order IDs matter. Assume the included purchase has completed review and C03 has an eligible signup elsewhere in the source ledger.
Copy the eight-row audit CSV
delivery_id,event_id,customer_id,order_id,event,decision
D01,S01,C01,,signup,include_new_signup
D02,S01,C01,,signup,ignore_duplicate_delivery
D03,S02,C01,,signup,ignore_same_customer_second_event
D04,S03,C02,,signup,exclude_already_customer
D05,P01,C01,O01,purchase,include_first_paid_after_review
D06,P01,C01,O01,purchase,ignore_duplicate_delivery
D07,P02,C03,O02,purchase,exclude_full_refund_in_review_window
D08,P03,C01,O03,purchase,exclude_repeat_order_from_new_customer_count
In that sample, C01 produces one new signup and one qualified first buyer, despite repeated delivery, another signup event and a later order. C02 is already a customer. C03’s fully refunded order contributes no qualified first buyer. Keep excluded records and reason codes so another operator can reproduce the totals.
Join the program ledger to your customer and order systems using stable IDs. Reconcile a sample of attributed orders to payment/refund status and reward obligations. A referral dashboard, a payment system and an analytics tool can legitimately disagree when they count different events. Resolve the definition before declaring a tracking failure. Friendbuy’s dashboard documentation, for example, separates first-time customer filters, conversion and attributed revenue.
Calculate full acquisition cost and contribution
For this same cohort, allocate $900.00 of earned advocate rewards and fulfilment, $300.00 of platform fees, $400.00 of promotion and $200.00 of operations. Total program cost is $1,800.00. The reward figure includes valid earned obligations that are still unpaid; cash paid this week is a separate cash-flow measure. In this fixture the referral friend discount is $0.00 and there is no separate friend reward. A real program must include the actual cost of both sides and disclose how discounts are treated when comparing acquisition costs.
Allocate shared fees and labor using a documented rule, such as time spent or campaign usage, and apply that rule consistently. Do not charge an entire month of platform costs to one small cohort one week and only redeemed rewards the next. If your cost boundary includes extra overhead, disclose it and use that boundary for comparisons.
Acquisition cost is $30.00 per qualified new paying customer. Using the 48 retained customers changes the question: cost per day-30 retained customer is $37.50. Neither figure is a cost per lead, and the latter should not be relabeled CAC without its retention qualifier.

Suppose net revenue through day 30 after each customer’s first purchase is $6,000.00 for the 60 qualified customers. This already deducts discounts and refunds and excludes taxes collected for a government. Other variable product/service costs are $3,000.00. Those costs exclude the program costs listed above.
- Contribution before program cost: $6,000.00 − $3,000.00 = $3,000.00.
- Contribution after program cost: $3,000.00 − $1,800.00 = $1,200.00.
- Attributed contribution return: $1,200.00 ÷ $1,800.00 × 100 = 66.67%.
This is an attributed contribution view over the stated horizon, before any unallocated fixed overhead. It is not net profit, lifetime value or proof of incremental ROI. A revenue-only calculation would produce 233.33% using ($6,000.00 − $1,800.00) ÷ $1,800.00; it omits $3,000.00 of variable costs. Do not describe that revenue calculation as profitability.
Do not subtract a friend discount again if it is already deducted from net revenue. Include a separate cash reward or fulfilment cost once. Do not add “saved paid-media CAC” as automatic extra value for every referred order: the acquisition channel that would otherwise have produced the customer is unobserved.
Copy the worked referral scorecard into a spreadsheet
Select the CSV text below and copy it into a plain-text file, then import it into a new spreadsheet at cell A1 using comma separation. It contains two columns, “metric” and “value.” Enable formula evaluation for this trusted example if your import treats formulas as text. Rows 2–7, 9–12 and 14–20 are inputs; the other value cells are formulas.
Copy the completed scorecard CSV with formulas
metric,value
eligible_advocates,1000
confirmed_sharers,120
referred_visitor_browser_ids,600
signup_deliveries,200
duplicate_signup_deliveries,12
already_customer_signups,8
qualified_new_signups,=B5-B6-B7
purchase_deliveries,68
duplicate_purchase_deliveries,4
existing_customer_orders,2
fully_refunded_first_orders,2
qualified_new_paid_customers,=B9-B10-B11-B12
day30_retained_customers,48
net_cohort_revenue,6000
other_variable_costs,3000
earned_reward_and_fulfilment_cost,900
allocated_platform_cost,300
allocated_promotion_cost,400
allocated_operations_cost,200
total_program_cost,=SUM(B17:B20)
participation_rate,=B3/B2
visitor_to_signup_rate,=B8/B4
signup_to_paid_rate,=B13/B8
visitor_to_paid_rate,=B13/B4
day30_retention_rate,=B14/B13
referral_customer_acquisition_cost,=B21/B13
cost_per_day30_retained_customer,=B21/B14
contribution_before_program_cost,=B15-B16
net_contribution_after_program_cost,=B29-B21
attributed_contribution_return,=B30/B21
Format B22:B26 and B31 as percentages with up to two decimal places; format B15:B21 and B27:B30 as currency. The included inputs should produce B8 = 180, B13 = 60, B21 = $1,800.00, B27 = $30.00, B28 = $37.50 and B31 = 66.67%. For your own data, check every denominator before calculating. Replace a zero-denominator result with “N/A”; leave a genuinely missing input unknown.
The worksheet reconciles this fixture; it is not a universal deduplication engine. Prepare the customer-level ledger first, then replace the inputs. Keep cohort dates, qualification rules, cost allocation and source export timestamps beside the sheet. Do not import personal customer information into a public report.
Use the scorecard to choose the next action
| Observed pattern | Check before changing the offer | Practical next step |
|---|---|---|
| Few eligible customers participate | Was the invitation delivered? Is the share event observable? | Test one clearer invitation with a defined eligible audience. |
| Visits rise; qualified signups do not | Landing-page mismatch, attribution loss, repeat browsers and eligibility exclusions | Trace several referral journeys and fix the first reproducible failure. |
| Signups rise; paid conversion falls | Cohort maturity, buyer fit, first-order definition and refunds | Compare mature cohorts before increasing the reward. |
| CAC looks acceptable; retained-customer cost rises | Stable retention rule and enough observation time | Inspect onboarding and which referrals return for the product. |
| Attributed contribution is positive | Full costs, duplicate channel credit and customers who would have bought anyway | Design an incrementality test before making a causal scaling claim. |
Change one material element at a time when feasible, preserve the previous definition, and record the intervention date. A change from 59 to 60 customers is one additional outcome; it is not by itself proof that a new reward works. Review uncertainty and the actual counts alongside percentages.
How to distinguish attributed results from incremental lift
Attribution assigns credit under a rule. Incrementality asks how many outcomes the program caused beyond what would have happened otherwise. A well-designed randomized holdout can help answer that question: define treatment and control before launch, keep outcome windows compatible and account for referral spillovers between groups. Small programs may not have enough outcomes for a precise result.
Google’s explanation of Conversion Lift illustrates the control-group principle for advertising; it is not a referral test feature or an implementation recipe for this program. For a referral test, an analyst should assess assignment, sample size, contamination and cost differences. Without a suitable design, report attributed contribution and cohort comparisons as observations.
Connect referral tracking to the scorecard
Blitz Rocket’s current referral software overview describes unique referral links and signup and purchase attribution. Treat those as product capabilities to verify for your own integration; a purchase count alone does not establish new-customer acquisition, retention or contribution.
Join the program’s tracking records to customer, order/refund, usage and cost records for this scorecard. Before launch, run a controlled test of one attributed signup, one purchase, a repeated event and a refund, then confirm how the records affect counts and rewards. Verify event access and integration support for your current plan. This guide reviewed public product information; it did not run a live customer transaction or validate an account’s tracking.
If you are choosing a campaign platform, review Blitz Rocket referral program software against your required events and reporting sources. Start with one reconciled cohort. Once the counts, dates and cost boundary agree, you can decide whether the next job is improving participation, conversion, retention or the economics.
Research and documentation checked November 4, 2026. Calculations and audit fixtures are original illustrative examples.


