We are currently building an affiliate platform integration that connects Shopify stores to our platform (similar in concept to affiliate/creator-driven shopping flows).
During the review process, we were advised to use permalinks. We would like to clarify how this requirement should be interpreted, as we are facing a functional limitation with cart permalinks in our use case.
Cart permalinks redirect users directly to the cart or checkout flow, which requires the product variant (e.g., size, color) to be selected in advance. However, in many cases, our end customers must be able to choose these options themselves before adding the product to cart. Because of this, cart permalinks bypass an essential step of the shopping experience and result in a poor or broken user flow.
Our questions are:
Does the “permalink” requirement specifically mean Shopify cart/checkout permalinks, or would product page URLs (including variant URLs) also be considered acceptable permalinks?
Is it acceptable for affiliate links to land on the product detail page, allowing customers to select size/color, rather than redirecting directly to cart or checkout?
Are there recommended best practices for affiliate or referral apps when variant selection is required before add-to-cart?
Just to provide some clarification, Sales Channel apps are 3rd party apps and platforms that use either Cart Permalinks or the Storefront API to create carts and send customers to the Shopify web checkout from an external platform, app, or website.
There is no specific requirement that you have to use Cart Permalinks with Sales Channels, for example you can use frameworks and SDKs that implement the Storefront API, or just use the Storefront API directly to create carts and redirect customers to the checkout.
Here’s some documentation on using the Storefront API and available official SDKs:
That said, using both the Cart Permalinks or Storefront API, does require that you, as the external platform/website developer, add the products and variants to the cart directly, either adding the product to the cart via a cartCreate or cartLinesAdd Storefront API call, then getting the checkoutUrl from the created/updated cart; or with the Cart Permalinks, just adding the variant id to the URL parameters directly.
This mean that you are not able to redirect a customer to the Shopify Hosted - Online Store Channel’s Product Description page to select the variant added to the cart.
For both Sales Channels and Headless Storefronts you are expected as the developer to create your own product selection page, where the customer can select the product variant they want to purchase, then you add the variant to the Cart via the Storefront API call, or using Cart Permalinks, as mentioned.
Here’s some more documentation you can refer to for developing Sales Channels and Headless Storefronts:
I just wanted to follow up here and see if this answered your questions sufficiently. If so we can go ahead and mark this thread as solved, otherwise I’m happy to help with any further relevant questions you may have!