# FAQ

## Setup & Installation

**Where do I find my Campaign ID?**\
Go to **Campaigns** in the left navigation. The Campaign ID is shown in the campaigns table. See [Where to find Campaign ID?](/docs/faq/where-to-find-campaign-id.md) for a screenshot walkthrough.

**Where do I find my API key?**\
Go to **Settings > API Key** in your Referral Rocket dashboard. Keep it private — never expose it in client-side code or public repositories. REST API access requires the Pro plan.

**Why isn't `window.Rocket` available after adding the script?**\
The script uses the `defer` attribute, so it loads after the HTML is parsed. Make sure you're calling `window.Rocket` after the page has fully loaded (e.g. inside a `DOMContentLoaded` listener or at the bottom of the `<body>`). Open the browser console and type `window.Rocket` to verify — it should return the Referral Rocket object, not `undefined`.

**Can I install the widget on multiple pages?**\
Yes. Add the script tag to every page where referral tracking should be active. The widget will only render visually on pages where the `<div id="referral-rocket-widget">` element is present.

**Can I run multiple campaigns at the same time?**\
Yes, on paid plans. The Starter (free) plan is limited to one campaign. If you have multiple campaigns, pass the campaign ID explicitly: `window.Rocket.getCampaign("YOUR-CAMPAIGN-ID")`.

***

## Referral Tracking

**What's the difference between `addParticipant` and `qualifyParticipant`?**\
`addParticipant` registers a new user in your campaign — call it at sign up. `qualifyParticipant` marks their qualifying event as complete (e.g. first payment) and triggers the referrer's reward — call it after a successful payment or other qualifying action.

**How does the referral cookie work?**\
When a visitor arrives via a referral link, Referral Rocket sets a first-party cookie with the referral code. When `addParticipant` is called later (e.g. on sign up), the SDK reads this cookie automatically and links the new participant to the referrer. You don't need to manually pass the referral code.

**What happens if a referred user signs up without clicking the referral link?**\
The referral won't be attributed automatically. You can manually pass `referredByCode` or `referredByEmail` to `addParticipant` if you have the referral code from another source (e.g. a promo code field in your sign up form).

**Can a participant refer themselves?**\
No. Referral Rocket detects self-referrals and does not attribute them.

**Why is a referral showing as unqualified even after payment?**\
Make sure `qualifyParticipant` is being called after the payment succeeds — not before. It should be called in a payment success callback, a Stripe webhook handler, or a post-purchase confirmation page, not on the payment page itself.

***

## Rewards

**What triggers a reward for the referrer?**\
Calling `qualifyParticipant` for a referred participant marks their qualifying event as complete and makes the referrer eligible for their reward. The specific qualifying event (sign up, first payment, etc.) is configured per campaign under **Campaign Details**.

**How do I reward both the referrer and the new user (referee)?**\
When calling `qualifyParticipant` via the JavaScript SDK, set `rewardReferee: true`. This generates a reward for both the referrer and the referred user. Note: `rewardReferee` is not available via the REST API — use the JS SDK for double-sided rewards.

**How do I issue rewards?**\
Go to **Reward Management** in your campaign dashboard. Referral Rocket supports issuing rewards via Tremendous (gift cards), PayPal Mass Payments, Wise Batch Payments, Stripe, RazorPayX, and Shopify discount codes.

**Can I set percentage-based rewards instead of fixed amounts?**\
Yes. Pass `amountPaid` when calling `qualifyParticipant` and configure a percentage-based reward in your campaign settings. Referral Rocket will calculate the reward amount from the value you pass.

***

## Plans & Billing

**What is the Starter (free) plan limited to?**\
The Starter plan allows 1 campaign, up to 3 referrers, and up to 5 tracked referrals. It is designed for testing only — not for production use. See [Understanding the Test Plan](/docs/faq/understanding-the-test-plan-perfect-for-testing-limited-for-production.md) for the full breakdown.

**Will my data be lost if I upgrade from the Starter plan?**\
No. All existing campaign data is preserved when you upgrade. There is no downtime during the transition.

***

## Support

**How do I get help?**\\

* **In-app chat** — available from any page in your Referral Rocket dashboard
* **Email** — <support@referralrocket.io>
* **Docs** — browse the sidebar for guides on setup, integrations, and rewards


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://referral-rocket.gitbook.io/docs/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
