SPIFF & Spot-Bonus Program Templates
Five ready-to-launch short-cycle incentive templates: product push, pipeline generation, save play, new-logo blitz, and cross-sell spot bonus, each with the cost-cap math built in so you can approve a SPIFF without guessing what it'll actually cost.
How to use it
Pick the template matching this cycle's objective, fill in the bracketed fields with your real numbers, run the cost-cap formula against your actual pipeline/headcount before announcing anything, then send the built-in launch email.
What's inside
- Template 1: Product Push SPIFF (flat $ per unit, capped)
- Template 2: Pipeline Generation SPIFF (per qualified meeting)
- Template 3: Save Play / Renewal Rescue SPIFF (per saved account)
- Template 4: New-Logo Blitz SPIFF (escalating tiers by deal count)
- Template 5: Cross-Sell / Upsell Spot Bonus (% of incremental ACV)
- Built-in cost-cap formula and worked example for each template
- Stacking, eligibility, and disqualification rules
- Finance/Legal approval sign-off block
- Launch announcement email copy
Five pre-built, short-cycle incentive structures. Each includes the cost-cap formula so you can model the real dollar exposure before you announce anything. SPIFFs work because they're short (2–4 weeks) and narrow (one behavior), don't stretch any of these past 30 days or they lose their edge.
Template 1: Product Push SPIFF
| Field | Fill In |
|---|---|
| Program Name | Product Push SPIFF: [Product/SKU], [Quarter] |
| Objective | Drive attach/volume of [Product] within [business unit/segment] |
| Duration | 2–4 weeks |
| Eligible Roles | [AEs / SDRs / CSMs closing this SKU] |
| Trigger / Qualifying Event | Closed-won deal including ≥1 unit of [Product], signed and processed within the program window |
| Payout Structure | $[X] flat per unit sold, paid on top of standard commission, no attainment gate |
Cost Cap Formula: `` Cost Cap = Expected Units (last-quarter baseline) × 1.5 (stretch multiplier) × Payout per Unit `` Disclose the formula, not a silent clawback: pay per-unit, but if total units sold would blow the fund, pro-rate transparently.
Worked example: Baseline = 40 units/mo. Stretch target = 60 (1.5x). Payout/unit = $50. Cost Cap = 60 × $50 = $3,000. If 80 units sell, per-unit payout adjusts to $3,000 ÷ 80 = $37.50: stated up front in the announcement, not discovered at payout.
- Funding Source: [Marketing co-op / product BU budget / sales incentive line]
- Exclusions: Renewals; downgrade-then-upgrade within window; deals discounted >[X]% off list; reps on active PIP (manager discretion)
- Tracking & Payout: Tracked via [CRM report/field]; paid first payroll cycle after close; reconciled against invoiced (not just signed) revenue
Template 2: Pipeline Generation SPIFF
| Field | Fill In |
|---|---|
| Program Name | Pipeline Gen SPIFF: [Segment/Product], [Dates] |
| Objective | Build qualified pipeline (SQLs) for [segment/product] ahead of [quarter] |
| Duration | 2 weeks |
| Eligible Roles | SDRs/BDRs; AEs self-sourcing |
| Trigger / Qualifying Event | Meeting held (not booked) + opportunity created and accepted by AE within 48 hrs, meeting minimum qualifying bar (BANT/MEDDIC) |
| Payout Structure | $[75–150] per qualified meeting held; tier bonus at volume (5th+ meeting in window = 1.5x rate) |
Cost Cap Formula: ``` Cost Cap = (Headcount × Historical Avg Meetings/Rep/Week × Weeks in Window) × 1.2 (stretch) × Payout Rate
- Tier Bonus Buffer (~20% of reps hitting tier threshold)
``` Worked example: 8 SDRs × 3 meetings/wk × 2 wks = 48 baseline. ×1.2 = 58. ×$100 = $5,800 + ~$800 tier buffer = ~$6,600 cap.
- Exclusions: Internal/duplicate meetings; meetings against an already-open opportunity; no-shows
- Funding Source: Sales development budget
- Tracking & Payout: Paid after opportunity survives a 2-week no-kill qualification window (prevents gaming via instantly-disqualified junk meetings)
Template 3: Save Play / Renewal Rescue SPIFF
| Field | Fill In |
|---|---|
| Program Name | Save Play SPIFF: [Segment/Book], [Cycle] |
| Objective | Reduce churn on at-risk renewals in [book of business] |
| Duration | Rolling, tied to at-risk list refreshed [monthly] |
| Eligible Roles | CSMs, AMs, renewals reps |
| Trigger / Qualifying Event | Account flagged "at-risk" (red/yellow health score, or open cancellation notice) at window start, renewed at ≥90% of prior ACV |
| Payout Structure | $[X] flat per save under $[threshold] ACV; [Y]% of saved ACV above threshold (e.g. 3%) |
Cost Cap Formula: `` Cost Cap = (# At-Risk Accounts × Historical Save Rate × Avg Payout per Save) × 1.3 buffer `` Worked example: 25 at-risk accounts × 40% historical save rate = 10 expected saves × $400 = $4,000 × 1.3 = $5,200 cap.
- Exclusions: Saves achieved via discounting beyond [X]% without VP sign-off; saves that re-churn within 90 days trigger clawback
- Funding Source: Customer success / retention budget
- Tracking & Payout: Paid after a 30-day non-cancellation confirmation window post-signature
Template 4: New-Logo Blitz SPIFF
| Field | Fill In |
|---|---|
| Program Name | New-Logo Blitz: [Vertical/Segment], [Month] |
| Objective | Accelerate new-logo acquisition in [target segment] |
| Duration | 30 days |
| Eligible Roles | AEs (net-new motion only) |
| Trigger / Qualifying Event | Closed-won new logo (not expansion, not win-back <12 months) within window |
| Payout Structure | Escalating tiers: 1st logo $500; 2nd $750; 3rd+ $1,000 each |
Cost Cap Formula: `` Cost Cap = Σ over expected distribution of (# reps per tier × tier payout), modeled against last blitz's ACTUAL distribution `` Worked example: 12 AEs. Historical split: 6 reps get 1 logo, 3 get 2, 3 get 3.5 avg. Cost = (6×$500) + (3×$1,250) + (3×($500+$750+$1,000×1.5)) = $3,000 + $3,750 + $9,750 = $16,500 cap.
- Exclusions: Logos requiring >[X]% non-standard discount; multi-year deals count once, not per contract year
- Funding Source: New-business acquisition budget
- Tracking & Payout: Paid at quarter-end true-up, contingent on deal surviving first 60 days
Template 5: Cross-Sell / Upsell Spot Bonus
| Field | Fill In |
|---|---|
| Program Name | Cross-Sell Spot Bonus: [Product Line] |
| Objective | Drive expansion revenue from [existing base] |
| Duration | Ongoing quarterly (discretionary, not a sprint) |
| Eligible Roles | AMs, CSMs with expansion quota, AEs on named accounts |
| Trigger / Qualifying Event | Closed-won expansion/cross-sell ≥$[minimum ACV] within an existing account |
| Payout Structure | [3]% of incremental ACV, paid outside standard commission: manager-nominated, VP-approved |
Cost Cap Formula: `` Cost Cap = Quarterly Expansion Bookings Target × Payout % × 1.1 buffer `` Worked example: $500,000 expansion target × 3% × 1.1 = $16,500 quarterly cap (communicated to Finance; kept discretionary to reps).
- Exclusions: Contractual auto-uplifts/CPI increases don't qualify; no double-dipping with a standard expansion commission plan
- Funding Source: Manager discretionary bonus pool
- Tracking & Payout: Manager submits nomination with deal ID → VP approves within 5 business days → paid next payroll cycle
Stacking Rules (applies across all five)
- A rep may be active in no more than 2 SPIFFs/spot bonuses at once.
- SPIFF payouts never count toward standard-plan accelerator attainment, don't double-count the same dollar.
- Any deal touched by more than one program must be flagged by the manager so Finance doesn't pay it twice.
Approval Sign-Off Block
| Field | Detail |
|---|---|
| Program Name | |
| Total Cost Cap | $ |
| Funding Confirmed By (Finance) | / Date: |
| Approved By (Sales Leader) | / Date: |
| Legal/Comp Review (if tied to comp plan) | / Date: |
Launch Announcement Email Template
Subject: [Program Name] is live: here's how to win it Team: starting [date] through [end date], we're running [Program Name]. Here's exactly how it works: - What qualifies: [trigger/qualifying event, plain language] - What you earn: [payout structure, plain language, use real numbers] - Fund cap: [state the cap transparently if per-unit payouts could be affected by it] - What doesn't count: [exclusions, plain language] - When you get paid: [payout cadence] Questions go to [name/channel], not the group chat. Go get it.