Nexus derives these outcomes automatically from the metrics payload you send on each attribution. You configure nothing. Send accurate data on every transaction.
You send the metrics payload when you attribute a transaction to a member.
/attributions/transactionsThe conversion fields
Section titled “The conversion fields”"metrics": { "conversion": { "lastPurchase": { "date": "2026-04-01T00:00:00.000Z", "platform": "iOS" }, "totalSpendToDate": { "total": 4999, "currency": "USD" } }}| Field | What it represents | Required? |
|---|---|---|
lastPurchase.date | The player’s most recent purchase date before this transaction (regardless of creator support) | Strongly recommended |
lastPurchase.platform | Platform of that prior purchase | Optional |
totalSpendToDate.total | Total the player has spent before this transaction (not including it) | Strongly recommended |
totalSpendToDate.currency | Currency of the spend total | Optional |
What triggers what
Section titled “What triggers what”Converted
Section titled “Converted”Send when the player has never purchased before.
"lastPurchase": { "date": null },"totalSpendToDate": { "total": 0, "currency": "USD" }Either signal is sufficient, but sending both is preferred:
lastPurchase.date: null(explicit signal, preferred)totalSpendToDate.total: 0(inferred signal if no date is available)
Reactivated
Section titled “Reactivated”Send when the player has purchased before and their last purchase was 30 or more days ago.
"lastPurchase": { "date": "2024-09-15T00:00:00.000Z" },"totalSpendToDate": { "total": 12999, "currency": "USD" }Nexus measures the 30-day gap between lastPurchase.date and the transaction date on the current attribution. This applies only if Nexus has never classified the player as Converted before.
Repeat Reactivation
Section titled “Repeat Reactivation”No special payload required. Nexus derives this automatically.
If the player was previously Converted or Reactivated at any point in history, and the current transaction shows a lastPurchase.date 30 or more days prior, Nexus counts them as a Repeat Reactivation instead of a new Reactivation.
Keep sending an accurate lastPurchase.date on every transaction. Nexus handles the rest.
Not counted
Section titled “Not counted”Send when the player is an active payer returning within their normal purchase cycle.
"lastPurchase": { "date": "2024-11-20T00:00:00.000Z" },"totalSpendToDate": { "total": 4999, "currency": "USD" }If lastPurchase.date is less than 30 days before the transaction date, the player does not increment any metric. This avoids inflating reactivation numbers for regular active spenders.
Decision table
Section titled “Decision table”lastPurchase.date | totalSpendToDate.total | Gap to transaction | Result |
|---|---|---|---|
null | 0 | N/A | Converted |
null | > 0 or not sent | N/A | Converted |
| not sent | 0 | N/A | Converted |
| valid date | any | ≥ 30 days, never Converted | Reactivated |
| valid date | any | ≥ 30 days, previously Converted or Reactivated | Repeat Reactivation |
| valid date | any | < 30 days | Not counted |
| not sent | not sent | N/A | Not counted (payload too ambiguous) |