Articles on: General

Your app’s privacy on PartnerJam

When you’re adding a new Shopify app to manage your affiliate program, it’s important to understand why you need to create a Partner API token and why PartnerJam needs to access your data (and which one).

Why do I need to provide Partner API token?

The connection between PartnerJam and your application (along with its data) is crucial for obtaining information about installs. We acknowledge your concerns about data sharing with other services. Hence, we designed PartnerJam with a strong focus on privacy, ensuring it only uses essential data.

Out of all the permissions offered by Shopify when generating a Partner API token, we need only two – "Manage apps" and "Financials".

These permissions are necessary to access App resources, including all app-related events such as installs, uninstalls, and charges. However, it's important to note that due to the Shopify limitations, this permission encompasses all public and private apps managed by your organization and the API token cannot be limited to a specific app.

Once the connection between PartnerJam and your Shopify Partner account is established, PartnerJam periodically (every hour) validates the accurate attribution of installations. It attributes installations to specific publishers if they originated from the affiliate link, which is the information we get from Shopify.

How PartnerJam attribution works

What API calls you're using?

As we take your privacy very seriously, we understand your concerns about accessing your data. That's why we've minimized the data requests and only use three API calls, which are listed here:

Validation of Partner Account

We use this API call solely for validation to confirm if you've entered your Partner ID and API token correctly. This is done during the initial step of pairing the app with PartnerJam.
query PublicApiVersions {
      publicApiVersions {

Getting the app name and ID

We use this API call to obtain details about the app that will be paired during the second step of the pairing process.
query AppName($appId: ID!) {
      app(id: $appId) {

Fetching the information for subscriptions

This is the primary API call through which we collect all necessary information for referral attribution:
fragment subscriptionCharge on AppSubscriptionEvent {
    charge {
        amount {

query AppEvents($appId: ID! $occurredAtMin: DateTime $occurredAtMax: DateTime $pageSize: Int! $cursor: String $types: [AppEventTypes!] $shopId: ID) {
  app(id: $appId) {
    events(occurredAtMin: $occurredAtMin occurredAtMax: $occurredAtMax first: $pageSize after: $cursor types: $types shopId: $shopId) {
      pageInfo {
      edges {
        node {
          shop {
          ... subscriptionCharge

NDA as part of the T&Cs

By registering and using PartnerJam, you agree with its Terms of Service. These conditions also include an NDA section to assure you we will never share your data with any third party and neither use the data for any other reason except the correct attribution in ParterJam.

Who is the company behind PartnerJam?

PartnerJam has been developed by Digismoothie. We are Shopify app developers and saw the desperate need to build an affiliate management platform for SaaS developers.

We have been using PartnerJam to work with our partners, and after six months of internal usage, we think it's ready to be used by other app developers.

We are based in Prague, Czech Republic, and fully compliant with GDPR and CCPA.

To learn more about PartnerJam’s privacy and terms, please see our Privacy Policy and Terms of Service agreement.

Updated on: 19/02/2024

Was this article helpful?

Share your feedback


Thank you!