# Integrating rewardful with Circle paywalls

https://help.circle.so/p/payments/affiliates/integrating-rewardful-with-circle-paywalls

Category: [Payments](https://help.circle.so/p/payments) › [Affiliates](https://help.circle.so/p/payments/affiliates)

---

_Last updated: August, 2026_  
  
You can use&nbsp;[**Rewardful**](https://www.rewardful.com/)&nbsp;to set up your own affiliate/referral program with Circle paywalls. This article will guide you through the steps to set up an integration with Rewardful.

> 💡 **Tip:** We offer a built-in affiliate program specifically designed for Circle paywalls in your community. This allows you to build and manage your own affiliate program right within your community. For more information, check out our guide on [**Affiliates overview**](/p/payments/affiliates/affiliates-overview)[**.**](/p/payments/affiliates/affiliates-overview)

> 🚨 **Warning:** This is an advanced feature, and we recommend working with your developer to ensure the correct setup.

To get started with integration:

## **Step 1: Setup your Rewardful campaign**

First, make sure to create a Rewardful account [**here**](https://app.getrewardful.com/signup). Next, complete the following [**campaign setup**](https://app.getrewardful.com/setup/) process:

1. **Connect Stripe account&nbsp;**

Connect the Stripe business that was created during your Stripe integration with Circle paywalls.

> ❗ **Important:** You must **connect your existing Circle Paywall Business** created during your Stripe integration with Circle and **avoid creating a new one**.  
>   
> You can find and copy your Account ID in Stripe by navigating to [**Settings&nbsp;→ Account**](https://dashboard.stripe.com/settings/account).  
>   
> You can switch between your Stripe businesses by clicking on the business name in the top-left corner as shown in the following visual.

 ![](https://assets-v3.circle.so/1w5s1c5lqcb5i5y795zim5zi9lqf)

 ![](https://assets-v2.circle.so/a2yy0kru19iujzpdo7itfv7dzo8o)
1. **Configure currency**

In this step, set your currency and click **Next**.

 ![](https://assets-v2.circle.so/xhxc8a9u5uojtce2ou5lsijuh2u4)
1. **Create a campaign**

When creating a campaign, add your campaign website as follows:

- If your community is **private** and has enabled the white-labeled auth pages with a custom domain:

```
[YOUR_COMMUNITY_URL]/users/sign_in
```

- If your community is **private** without white-labeled auth pages:

```
https://login.circle.so/sign_in?request_host=[YOUR_COMMUNITY_URL]
```

- If your community is **public** :

```
https://[YOUR_COMMUNITY_URL]/home
```

Once the information is filled in, click **Create Campaign**.

> ℹ️ **Note:** This will need to be changed to your paywall checkout URL once we finish the setup. This initial step is required for Rewardful to identify the scripts being loaded correctly.
> 
> ![](https://assets-v2.circle.so/b0twmkw3ik70yybzt5z3rfelv7q5)

## **Step 2: Add your tracking code to Circle**

To add the tracking code:

1. **Get Rewardful API key**

Get your Rewardful API key using [**this link**](https://app.getrewardful.com/setup/code?platform=javascript_browser).&nbsp;

> 💡 **Tip:** The API key is located in the data-rewardful attribute within the **Step1: Install JavaScript Snippet** field.

 ![](https://assets-v2.circle.so/pr1vlxaqasdylaldjg3qbi4w3vc2)
1. **Add Snippets in Circle&nbsp;**

To add the code snippet to your community:

1. Click **Website** in the left sidebar, then select **Code snippets**.

2. In the JavaScript code snippets field, add the following code.

> ❗ **Important:** Replace **YOUR\_API\_KEY** with your Rewardful API KEY first.

```
(function(w,r){w._rwq=r;w[r]=w[r]||function(){(w[r].q=w[r].q||[]).push(arguments)}})(window,'rewardful');

(function(a,b,c,d){scriptElement=a.createElement(b),head=a.getElementsByTagName("head")[0],scriptElement.async=1,scriptElement.src=c,scriptElement.setAttribute("data-rewardful",d),head.appendChild(scriptElement)})(document,"script","//r.wdfl.co/rw.js","YOUR_API_KEY");
```

ℹ️ **Note:** If you have a landing page outside of Circle, use the following snippet to allow sharing affiliate information between cross domains:

```
(function (w, r) {
	  w._rwq = r;
	  w[r] =
	    w[r] ||
	    function () {
	      (w[r].q = w[r].q || []).push(arguments);
	    };
	})(window, "rewardful");
	(function (e, a, b, c, d, e) {
	  (scriptElement = a.createElement(b)),
	    (head = a.getElementsByTagName("head")[0]),
	    (scriptElement.async = 1),
	    (scriptElement.src = c),
	    scriptElement.setAttribute("data-rewardful", d),
	    scriptElement.setAttribute("data-domains", e),
	    head.appendChild(scriptElement);
	})(
	  window,
	  document,
	  "script",
	  "//r.wdfl.co/rw.js",
	  "<YOUR_API_KEY>",
	  "<mydomain1.com>, <mydomain2.com>"
	);
```

Once you have added code snippets in your community settings, click **Save changes**.  
  
This will load Rewardful snippets in your community and track your referrals visiting your page once they get to any URL in your community.

## **Step 3: Add a tracking snippet and enable thank you page in the paywall**

To add a tracking snippet in your&nbsp;[**paywall**](https://help.circle.so/p/payments/paywall-management/add-conversion-tracking-code-to-paywalls):

1. Click **Payments** in the left sidebar, then select **Paywalls.**

1. Hover over a paywall and click&nbsp;**More actions (three dots)**, then select **Edit**.

2. Go to the **Tracking** tab and add the following snippet.

3. Click **Save**.

> ❗ **Important:** Replace **YOUR\_API\_KEY** with your Rewardful API KEY first.

> 💡 **Tip:** In addition to {member\_email} variable, using the **Add variable {…}** icon you can add various other dynamic variables to track paywall-related information such as paywall price, name, or coupon code. For information, see [**Add conversion tracking code to paywalls**](/p/payments/paywall-management/add-conversion-tracking-code-to-paywalls)[**.**](/p/payments/paywall-management/add-conversion-tracking-code-to-paywalls)

```
<script>
(function(w,r){w._rwq=r;w[r]=w[r]||function(){(w[r].q=w[r].q||[]).push(arguments)}})(window,'rewardful');

(function(a,b,c,d){scriptElement=a.createElement(b),head=a.getElementsByTagName("head")[0],scriptElement.async=1,scriptElement.src=c,scriptElement.setAttribute("data-rewardful",d),head.appendChild(scriptElement)})(document,"script","//r.wdfl.co/rw.js","YOUR_API_KEY");

rewardful('ready', function() {
  rewardful('convert', { email: "{member_email}" });
})
</script>
```

ℹ️ **Note:** If you have a landing page outside of Circle, use the following snipped to allow sharing affiliate information between cross domains:

```
<script>
	(function (w, r) {
	  w._rwq = r;
	  w[r] =
	    w[r] ||
	    function () {
	      (w[r].q = w[r].q || []).push(arguments);
	    };
	})(window, "rewardful");
	(function (e, a, b, c, d, e) {
	  (scriptElement = a.createElement(b)),
	    (head = a.getElementsByTagName("head")[0]),
	    (scriptElement.async = 1),
	    (scriptElement.src = c),
	    scriptElement.setAttribute("data-rewardful", d),
	    scriptElement.setAttribute("data-domains", e),
	    head.appendChild(scriptElement);
	})(
	  window,
	  document,
	  "script",
	  "//r.wdfl.co/rw.js",
	  "<YOUR_API_KEY>",
	  "<mydomain1.com>, <mydomain2.com>"
	);

	rewardful('ready', function() {
	  rewardful('convert', { email: "{member_email}" });
	})
</script>
```

> ℹ️ **Note:** This will load Rewardful snippets and run their **convert** action on your thank you page.&nbsp;

If you haven't already, take the following steps to enable thank you page:

1. Click **Payments** in the left sidebar, then select **Paywalls.**

2. Hover over a paywall and click&nbsp;**More actions (three dots)**, then select **Edit**.

3. Go to the&nbsp; **Post purchase** &nbsp;tab and turn on&nbsp; **Thank you page** &nbsp;toggle.

4. Click&nbsp; **Save**.

## **Step 4: Complete the Rewardful setup**

1. **Finish setup in Rewardful by using the via=install param**

Open a **new incognito window** and go to the following URL:

- If your community is **private** and has enabled the white-labeled auth pages with a custom domain:

```
[YOUR_COMMUNITY_URL]/users/sign_in??via=install
```

- If your community is **private** without white-labeled auth pages:

```
https://login.circle.so/sign_in?request_host=[YOUR_COMMUNITY_URL]?via=install
```

- If your community is **public** :

```
https://[YOUR_COMMUNITY_URL]/home?via=install
```

1. **Confirm the setup**

&nbsp;Use [**this link**](https://app.getrewardful.com/setup/) to confirm the setup has been successful.

 ![](https://assets-v2.circle.so/jv6hf4v84m4vrdlvtiexxabf82kj)
1. **Update your Rewardful campaign URL**

Take the following steps to change your Rewardful campaign URL to your expected paywall checkout URL.

> ❗ **Important:** If you are using a landing or marketing page hosted outside of Circle:
> 
> - You must use your landing page URL as the Rewardful Campaign Website URL.
> 
> - You must add your Rewardful script to your landing page as well as your Circle JavaScript code snippets and Paywall Conversion Tracking code field.
> 
> For example, if your landing page is [https://example.com](https://example.com/), your community domain could be something like [https://community.example.com](https://community.example.com/), and you would use [https://example.com](https://example.com/) as your Rewardful Campaign Website URL.

1. Click **Payments** in the left sidebar, then select **Paywalls.**

2. Hover over a paywall and click&nbsp;**More actions (three dots)**, then select **Edit**.

Under the **Product** tab, in the **Basics** section, click the **Checkout URL copy icon**.

 ![](https://assets-v2.circle.so/iagfimqyibl4debdhb1bzj7oydoy)
1. Open your Rewardful campaign and click&nbsp; **Edit campaign**.

 ![](https://assets-v2.circle.so/yy4beupsgeiz20e85573ktcocar4)
1. Update the&nbsp; **website URL** &nbsp;with your Circle paywall checkout URL.

 ![](https://assets-v2.circle.so/3iai4ixhzvbyq9wcxsj8oman2gv8)

You're all set 🎉 It's time to share your campaign registration URL with your affiliates! Once they join, they will have a shareable link to send to their referrals that redirects to your paywall checkout URL. Rewardful will handle commission calculations.

📚 For more information about our **conversion tracking code** feature or how to set up your paywall, please refer to the following articles:

- [**Set up a paywall**](/p/payments/paywall-setup/set-up-a-paywall)

- [**Updating a paywall**](/p/payments/paywall-management/updating-a-paywall)

- [**Add conversion tracking code to paywalls**](/p/payments/paywall-management/add-conversion-tracking-code-to-paywalls)

## **Relevant articles**

- [**Migrating member payments to Circle paywalls**](/p/payments/paywall-setup/migrating-member-payments-to-circle-paywalls)

- [**Making a test transaction**](/p/payments/paywall-setup/making-a-test-transaction)

- [**Understanding paywall notifications**](/p/payments/paywall-management/understanding-paywall-notifications)
