Who is this article for?
This article will be useful to you if are a company on PartnerStack looking to investigate why a referral may not have been tracked.
There may be cases where a partner will contact you about their referrals not tracking. It is important to gather some information about the referral so you can ensure that there are no issues with your integration.
How to troubleshoot with your partner
Here are some questions you can ask your partner to gather information:
- What is the customer's name and email address? What date did they sign up/purchase?
- Which link did the customer click?
- What browser and device did the customer use to click on your link? Is it the same browser and device they used to sign up with?
Using the customer information, you can check your payment processing/ order intake system to identify if the purchase/ sign-up has occurred in your system.
Troubleshooting if you are integrated with the JS Snippet
If you know which link the customer clicked on, check the link's destination URL. For a customer to be tracked when you integrate using the JS snippet, the customer must be redirected to a landing page that has the JS snippet.
No JS snippet on the destination URL = no customer capture.
When partners create custom links, they have the option to change their link destination if they would like to promote a different page on your website.
If you enable custom link creation for partners and you are integrated with the JS snippet we recommend adding the JS snippet to each page on your website, or proactively communicating to partners which pages they can create custom links for to ensure proper tracking.
Potential customer errors
When a customer clicks on a partner’s referral link, a cookie is placed in their browser. This cookie tracks the referral and when a signup is made using the same browser and device, it attributes the sign up to that partner. If the customer uses a different browser or device to sign up, the purchase will not be tracked.
How to troubleshoot your integration
Here are some steps you can follow to ensure that there are no issues with your integration.
- Check and compare customer creation in your dashboard, and internal records
- In your dashboard, click on your Referrals tab
- Compare the recent customer-created events to your internal records
- If you are integrated with the JS snippet, follow the partner's link in an incognito window and inspect the destination page to ensure it has your JS snippet in the page header.
- If you are integrated with the JS snippet use your in-app JS snippet testing tool in your Integrations tab. For step-by-step instructions to test your JS snippet implementation, see our technical support docs
- Follow your partner's link in an incognito window. Check the fully expanded destination URL and ensure it includes a GSPK or ps_partner_key (partner key) and a GSXID or ps_xid (click ID)
- Plug the GSPK or ps_partner_key into a base 64 decoding website, such as https://www.base64decode.org/.
- Click "Decode" to return the partner's partner key
- Search the partner key in your All Partners tab to confirm the link belongs to the partner
- Inspect the destination URL to ensure a cookie has been placed in your browser
- Right-click > Inspect > Go to 'Applications' and click on 'Cookies'. Use the Filter to search “GrowSumo”. If results show, the cookie has been placed.
- Test your integration to ensure everything works as expected by following the steps in our technical support docs
- If you are using a webhook for your payments, check the payments are coming through to Partnerstack by following the troubleshooting steps in our technical docs
If any of these steps fail, please reach out to Support at support@partnerstack.com with the results of your troubleshooting and we’d be happy to help look into this further for you!
Cases where link tracking fails
Case 1: The customer has clicked another partner’s referral link
If a customer/referral first clicked on partner A’s link and did not take any further action, but then clicked on partner B’s link and made a purchase, partner B would be the partner that is associated with the referral and would be issued a commission for that transaction.
The most recently clicked referral link is tied to any action that occurs after the link is clicked (sign up, transaction) and the partner associated with the link will be tied to the referral.
Next steps: As the company, you can make the call as to who you would like to pay for the referral, on a case-by-case basis. You can decline a commission from your invoice and manually create a new commission for the partner you choose.
Case 2: Customer has cleared their browsers’ cache & cookies
When a customer initially clicks on a partner’s referral link, it places a cookie on their browser’s cache. If the customer clears their cache & cookies, it will remove the placed cookie and no longer track activity from the referral.
Next steps: Confirm the partner referred this particular customer (asking the customer directly, asking the partner for proof, etc.). Once confirmed, you can manually add the customer and record their sale into PartnerStack. Make sure you attribute the customer to your partner as well so any future transactions will generate a commission for the partner.
Case 3: The customer has blocked cookies
The customer has opted out of and/or blocked cookie placement on their browser. This is especially common within the EU (specifically the GDPR policy), due to privacy laws; but anyone can disable cookies from placing.
Next steps: Your partners’ referrals will have to enable cookies to track when clicking referral links, but there is no way to proactively make this happen. A partner who sees a lot of activity from EU may consider making a note to enable cookies to be placed when using their link. Otherwise, we are unable to track when they opt-out.
Case 4: Broken integrations (JS Snippet)
This happens when your website code has been adjusted or overwritten and as a result the JS snippet breaks.
What is the JS Snippet? The JS Snippet is javascript that enables browser cookies to place after a referral link has been clicked. This collects information from the user who clicks the link and sends their signup information and any resulting activity back to your PartnerStack account.
Next steps: Reach out to your CSM or PartnerStack support if you believe you’ve made changes to your code that may have affected your JS snippet integrations.
Case 5: If the partner's cookie has expired on referrals’ browser
All referral links place a cookie within the customer/referrals’ browser and it remains active for 90 days.
The exception to this is if the customer clicks another partner's link; that link then places a cookie in their browser and is active for 90 days after being clicked.
Case 6: Customer used a different browser or device than originally used to click the referral link
If a customer/referral initially clicked the partners’ link and signed up in Safari but then used Google Chrome to make their purchase, the activity would not track that referral’s transaction because of the browser change.
Next steps: Confirm the partner referred this particular customer (asking the customer directly, asking the partner for proof etc.). Once confirmed, you can manually add the customer and record their sale into PartnerStack. Make sure you attribute the customer to your partner as well so any future transactions will generate a commission for the partner.
Case 7: Overwriting `growsumo.data` in your website code
Code was adjusted within your website which has overwritten GrowSumo data.
Next steps: Restore integrations; reach out to your CSM or PartnerStack support for an action plan.
Case 8: Not adding `public_key` to the snippet code found in our documentation
If this information is not included in the snippet code, it prevents the snippet data to associate any activity to your company and affiliated partners/their links.
Next steps: Add your `public_key` to the snippet code
"A public key is created in public key encryption cryptography that uses asymmetric-key encryption algorithms. Public keys are used to convert a message into an unreadable format. Decryption is carried out using a different, but matching, private key. Public and private keys are paired to enable secure communication."
Case 9: If your customer is using Safari as their browser and you don’t have the snippet on the landing page (their link destination)
Safari will not track and place a cookie unless you ensure you have a snippet added to your landing page/the link destination that your partners are using. If they happen to use a destination that doesn’t have a snippet, the cookie could be blocked and we wouldn't know until it’s reported that tracking isn’t occurring.
Next steps: Ensure your partners are using your landing page as your default destination link, and that your snippet is included on it. You may choose to manually add the customer and create a commission for the partner.
Confirm the partner referred this particular customer (asking the customer directly, asking the partner for proof etc.). Once confirmed, you can manually add the customer and record their sale into PartnerStack. Make sure you attribute the customer to your partner as well so any future transactions will generate a commission for the partner.
Case 10: The referral typed in the URL manually
The customer/referral has manually typed the URL into their browser, instead of clicking the referral link.
Next steps: Confirm the partner referred this particular customer (asking the customer directly, asking the partner for proof, etc.). Once confirmed, you can manually add the customer and record their sale into PartnerStack. Make sure you attribute the customer to your partner as well so any future transactions will generate a commission for the partner.
Paying missed commission
Once you have confirmed the partner referred this particular customer (by asking the customer directly, or asking the partner for proof, etc.) there are a few ways you can manually create a commission for your partner to pay out any missed commission.
- Manually add the customer and record their sale(s) to trigger existing offers: Manually entering a customer and any transactions will trigger any applicable commissions based on your current offer structure. To ensure future transactions automatically trigger commissions, attribute the customer to the referring partner, and include the customer key and provider keys if you are integrated with a payment webhook.
- Create a one-off manual commission: If your offer structure issues commission for a different event (i.e. an action being sent or a lead or deal progressing through the pipeline) or if your offer structure creates commissions for only the first purchase and you do not want to add a customer and transaction for record-keeping purposes you can create a manual commission for your partner in your All partners > partner detail view.
- Import the missed activity, or commission: Missed customers, transactions, or commissions can be imported in bulk instead of added manually. For more information on importing partner data see our Best practices for importing data into your program support guide.