Go-Live Checklist
Follow this checklist when you are ready to move from test mode to live mode. Complete every item before enabling your program for real partners and customers. All endpoints reference API version v1.
1. Swap test keys for live keys
Replace all test API keys in your codebase and configuration with their live counterparts:
| Replace | With |
|---|---|
pk_test_* (in the tracking snippet) | pk_live_* |
sk_test_* (in server-side code / env vars) | sk_live_* |
Where to check:
- Tracking snippet
data-merchantattribute in your HTML / template - Server-side environment variables for the Conversion API
- CI/CD pipeline secrets or deployment configuration
- Any scripts or cron jobs that call the Selgeo API
Never commit live secret keys (sk_live_*) to source control. Use environment variables or a secrets manager.
2. Verify Stripe live connection
- In the Selgeo dashboard, go to Settings > Stripe.
- Confirm that your live Stripe account is connected (not just the test account).
- Verify the Stripe webhook endpoint. Selgeo provides a webhook URL that must be registered in your Stripe dashboard under Developers > Webhooks for your live mode. Ensure the following events are enabled:
checkout.session.completedinvoice.paidcharge.refunded
- Send a test event from the Stripe webhook dashboard and confirm it appears in the Selgeo delivery log.
3. Remove test data
Test-mode data is isolated from live mode, so it will not appear in live reports. However, it is good practice to clean up:
- Remove test partners that should not carry over
- Archive or delete test programs that were used only for integration testing
- Clear test webhook endpoints if they point to localhost or development URLs
Test-mode data does not affect live-mode data in any way. This step is optional but helps keep your account tidy.
4. Verify webhook endpoints
- Go to Settings > Webhooks in the dashboard.
- Create (or verify) your live-mode webhook endpoints. Live endpoints must use HTTPS.
- Subscribe to the events your application needs. At minimum, consider:
conversion.created— to sync conversions to your systemcommission.created— to track new commissionsconversion.fraud_detected— to be alerted about fraudparticipant.approved— to provision access for new partners
- Click Send test ping for each endpoint to verify connectivity.
- Store the signing secret (
whsec_...) securely in your server's environment variables. - Verify that your server validates webhook signatures correctly.
5. Review rate limits
Confirm your integration stays within the API rate limits:
| Zone | Limit |
|---|---|
Tracking (POST /v1/clicks) | 1,000 req/min per pk_* key |
Conversion API (POST /api/v1/conversions) | 120 req/min per sk_* key |
| General API | 300 req/min per IP address |
If you expect higher traffic volumes, contact support before going live.
6. Review commission rules
- Go to Programs > [Your Program] > Commission Rules.
- Verify that commission percentages, flat amounts, hold periods, and auto-approval settings are correct for production.
- If you use net-basis commissions (commission calculated after Stripe fees), confirm that your Stripe live account has the correct fee structure.
7. Test the full flow one more time
Before announcing your program to partners, run through the complete flow in live mode with a real (but small) transaction:
- Open your referral link in a browser.
- Complete a real purchase (you can refund it afterward).
- Verify that the click, conversion, and commission appear in the dashboard.
- Verify that webhook events were delivered to your endpoints.
- Refund the transaction in Stripe and confirm that the
commission.refundedevent fires.
8. Enable your program
- Set your program status to Active in the dashboard.
- Share program invite links or the application form URL with your partners.
- Monitor the dashboard for the first real partner sign-ups and conversions.
Post-launch monitoring
After going live, keep an eye on:
- Webhook delivery log — check for failed or dead-lettered deliveries
- Attribution audit log — review attribution decisions for correctness
- Fraud alerts — monitor
conversion.fraud_detectedevents - Commission review queue — approve or reject commissions that require manual review (e.g., net-basis commissions flagged with
needs_review)