Skip to main content

Django Integration Method

Integrate Rewardful into your Django website

Written by Luiza Storrer

Integrating Rewardful is a quick way to set up affiliate and referral programs for Stripe's client-side checkout. We automatically track referred Visitors, Leads and Conversions from your affiliates, customers, influencers and/or partners. Commissions are automatically adjusted for any billing event changes such as downgrades, upgrades, free trials, cancellations and refunds.

Each person that signs up to your program will receive a personalized dashboard where they can create and manage their affiliate links, stats and track their success.

To set up the integration:

Then follow these steps to complete the integration:

I. Adding the Rewardful Tracking Script

Grab your Rewardful script from STEP 1 on the JavaScript integration page (Note: you don't need to add Step 2 as another code will handle the referral UUID).

Note: For users using Google Tag Manager in their WordPress site, grab this version of the STEP 1 script.

Paste the STEP 1 script into the <head> section of your base.html template. It must appear on every page of your application and marketing website.

II. Add the referral data to your signup form

To track referrals, you need to include the data-rewardful attribute in any form that creates a customer (e.g. signup or upgrade forms).

<form action="/signup" method="post" data-rewardful>
<!-- your signup form here -->
</form>)

Rewardful will automatically insert a hidden input named referral into the form, which will get submitted to your server along with the rest of this form's data. The value will be a UUID representing the current referral. You'll pass this UUID parameter to Stripe in the next step.

III. Add the referral UUID to Stripe Customer metadata

The referral parameter will be submitted with the rest of the form data in Step 2. In your view function that handles the form submission, add referral to the Stripe Customer's metadata:

# Gather params submitted with <form>
customer_params = {
'email': request.POST['email'],
'source': request.POST['stripe_token'] # Obtained with stripe.js
}

# Add the `referral` parameter from Rewardful to the Stripe customer metadata, if present.
if 'referral' in request.POST:
customer_params['metadata'] = { 'referral': request.POST['referral'] }

# Create the customer in Stripe.
stripe.Customer.create(**customer_params)

Adding the referral UUID to the Stripe customer's metadata converts the referral and associates it with the affiliate. Whenever that customer is charged, a commission will be paid to the affiliate according to your campaign rules.

Notes:

  • If you already have a Stripe customer created, simply add the referral metadata by updating the customer.

  • You'll also need to pass the coupon parameter to Stripe if you're using our double-sided incentives feature (coupons) Learn more โ†’

  • Refer to the Stripe API Reference for full documentation on creating and updating customers with Python.

IV. Confirming the Rewardful dashboard initial setup

  • Go back to your Rewardful dashboard, click the Ok I've completed this button.

  • On the next set of instructions, open the link that has a ?via=install on an incognito window or private browser, let your site fully load.

  • Go back to your Rewardful dashboard and refresh the page. If the STEP 1 tracking script is correctly placed, it will confirm your Rewardful initial dashboard setup.

  • If there's no confirmation, please chat with us or email us so that we'll check things for you.

V. Referrals are not tracking? Check the following (Troubleshooting)

Make sure that:

  • The Rewardful tracking script is installed as described in this article.

  • The script from Step 1 includes your API key from the dashboard.

  • Your signup flow is implemented as described above with the Rewardful Attribute.

  • You tested using an incognito/private window.

If you still see the issue, reach out to our support team, and weโ€™ll be happy to take a look.

Did this answer your question?