# Viral Loops Documentation > Documentation for Viral Loops ## Client Side SDK: Installing the Widgets - [Setting up your site](https://developers.viral-loops.com/docs/setting-up-your-site.md) - Widget Installation - [Form Widget Installation](https://developers.viral-loops.com/docs/form-widget-1.md): Your visitors will use this widget to sign up to your Viral Loops campaign - [Popup Form Widget Installation](https://developers.viral-loops.com/docs/popup-form-widget.md): Your visitors will use this widget to sign up to your Viral Loops campaign - [Milestone Widget Installation](https://developers.viral-loops.com/docs/milestone-widget.md): This widget will display the milestones of the campaign. It will also update live, after your visitors reach the milestones you've set in your campaign. - [Invitee Form Widget](https://developers.viral-loops.com/docs/invitee-form-widget.md): Referrals of your campaign participants will use this page to signup. After they signup their referrer will get a referral attribution. - [Referral URL Widget](https://developers.viral-loops.com/docs/referral-url-widget.md) - [Sharing Options Widget](https://developers.viral-loops.com/docs/sharing-options-widget.md) - [Leaderboard Widget](https://developers.viral-loops.com/docs/leaderboard-widget.md) - [Stat Widget](https://developers.viral-loops.com/docs/stat-widget.md) - [Progress Tracking Widget](https://developers.viral-loops.com/docs/progress-tracking-widget.md) ## Client Side SDK: Integrate with your site - [Installation](https://developers.viral-loops.com/docs/overview-1.md) - [Adding custom fields to your form](https://developers.viral-loops.com/docs/adding-custom-fields.md) - JavaScript SDK - [Conversion](https://developers.viral-loops.com/docs/conversion.md) ## Client Side SDK: Integrate with frontend frameworks - [Viral Loops with a React / Next.js App](https://developers.viral-loops.com/docs/react.md) ## Client Side SDK: TRACK MULTIPLE STEPS OF THE REFERRAL JOURNEY - [What is Conversion Tracking?](https://developers.viral-loops.com/docs/what-is-conversion-tracking.md): Successful referral campaigns sometimes require users to take meaningful actions like buying a product, upgrading a subscription or completing onboardings before rewards can be distributed. This is… - [Convert participants using the JavaScript SDK](https://developers.viral-loops.com/docs/convert-participants-using-the-javascript-sdk.md) - [Convert participants via Page URL](https://developers.viral-loops.com/docs/how-to-track-conversions-via-page-url.md): If you want to track when a referred participant completes an action without writing custom code or calling the JavaScript SDK directly, you can track conversions using Page Visits. - [Convert participants using the Server-Side API](https://developers.viral-loops.com/docs/convert-participants-using-the-server-side-api.md) - [How to secure your campaign with Authorized Conversions](https://developers.viral-loops.com/docs/how-to-secure-your-campaign-with-authorized-conversions.md): When running a referral program that grants valuable rewards, protecting your campaign against fraud is critical. Enabling **Allow only authorized conversions** ensures that conversions are strictly… - [How to Use Value Tracking to Measure Referral Revenue](https://developers.viral-loops.com/docs/how-to-use-value-tracking-to-measure-referral-revenue.md): When running a referral campaign, tracking simple conversion counts isn't always enough—especially if your customers spend different amounts. **Value Tracking** (also commonly referred to as… ## Backend API: Viral Loops API - Campaign - [Campaign Stats](https://developers.viral-loops.com/reference/get_campaign-stats.md): Get the number of leads and the total referral count of your campaign. > 📊 Rate Limit: 300 requests per minute - [Campaign Info](https://developers.viral-loops.com/reference/get_campaign-data.md): Get the public information of a campaign. > 🚧 Warning > For this request you can use the campaign's `publicToken` or the secret `apiToken`. You should **never** expose the… - Participant - [Participant Registration](https://developers.viral-loops.com/reference/post_campaign-participant-1.md): Register a new participant for a campaign > 🚧 Warning > For this request you can use the campaign's `publicToken` or the secret `apiToken`. You should **never** expose the… - [Edit Participant](https://developers.viral-loops.com/reference/put_campaign-participant.md): Use this Endpont to edit the First Name, Last Name and Referral Count of your Participants > 📊 Rate Limit: 300 requests per minute - [Participant Data](https://developers.viral-loops.com/reference/get_campaign-participant-data-1.md): Returns information about a single participant. Calls with the API Token retrieve full information. Calls with the public token return anonymized data. > 🚧 Warning > For this… - [Participant Referrals](https://developers.viral-loops.com/reference/get_campaign-participant-referrals-1.md): Returns a paginated list of the participant's referrals. Calls with the API Token retrieve full information. Calls with the public token return anonymized data. > 🚧 Warning > For… - [Participant Conversion](https://developers.viral-loops.com/reference/post_campaign-participant-convert.md): Tracks a conversion event for a registered participant > 📘 Info > You can now convert a Participant from out new Dashboard! [Learn More about… - [Participant Query](https://developers.viral-loops.com/reference/post_campaign-participant-query.md): Returns information about the participants of the campaign > 📊 Rate Limit: 300 requests per minute - [Flag Participant](https://developers.viral-loops.com/reference/post_campaign-participant-flag.md): Used to flag participants that have gotten early access or a reward and should be removed from the waiting list or leaderboard. The participants are not deleted from the campaign, they are simply… - [Participant Order](https://developers.viral-loops.com/reference/get_campaign-participant-order.md): Returns the order in which the participant joined the campaign. For example, the first participant who joins the campaign will have an order of 1, the second one will have an order of 2 etc. > 📊… - [Participant Rank](https://developers.viral-loops.com/reference/get_campaign-participant-rank.md): Only participants that have not been flagged are returned (see Flag participants). Use this to programmatically check who is at the top of the waiting list or leaderboard. > 📊 Rate Limit: 300… - [Get Participant's Referrer](https://developers.viral-loops.com/reference/get_campaign-participant-referrer-1.md): Use this Endpont to get the Participant's Referrer > 📘 Info > You can also do this by using our new Campaign Dashboard as well! > 📊 Rate Limit: 300 requests per minute - [Search Participants](https://developers.viral-loops.com/reference/post_campaign-participant-search.md): Search and filter participants in a campaign with advanced filtering options. > 🚧 Warning > This endpoint should **only** be used with the `apiToken` in secure server-side… - Rewards - [Pending Rewards](https://developers.viral-loops.com/reference/get_campaign-participant-rewards-pending.md): Retrieve the pending rewards of a campaign's participant > 📘 Info > You can omit the `user` parameter to get a paginated list of the campaign participants and their pending rewards… - [Redeem a Reward](https://developers.viral-loops.com/reference/post_campaign-participant-rewards-redeem.md): Redeem a pending reward of a campaign's participant. > 📘 Info > This will move the reward from the pending rewards to the given rewards. [Learn More about… - [Given Rewards](https://developers.viral-loops.com/reference/get_campaign-participant-rewards-given.md): Retrieve the given rewards of a campaign's participant > 📘 Info > You can omit the `user` parameter to get a paginated list of the campaign participants and their given rewards…