Note: A Silver Subscription or higher is required to utilize Tokengating.
Note: This is an optional step in the process of creating an NFT. You can choose to skip over it if you prefer.
Note: Want to use our tokengating feature for third-party Solana NFTs that were minted elsewhere? No problem! Click HERE.
When creating an NFT in Single, you have the option to designate what content it will unlock within your store for fans when they hold that NFT in their wallet. This is also known as tokengating. There are many uses for this and the possibilities are extensive! A few examples include, but are not limited to:
- Creating NFT holder exclusive merch drops
- Allowing NFT holders to access/purchase content and products early
- Creating exclusive video content that only NFT holders can access
- Offering NFT holders exclusive discounts on merch
Note: Want to see exactly how to offer exclusive merch discounts to NFT holders by using the tokengating feature? Click HERE. (But make sure to finish reading this article first!)
The entire process of setting up tokengated content and commerce involves some configuration in both the Single app and Shopify. In this article, we'll cover both the Single and Shopify aspects of the process in their own sections. We will demonstrate a scenario in which we want to gate access of an exclusive shirt and vinyl so that only NFT holders can purchase them. Additionally, we will gate access to a particular page, which can contain exclusive content (behind the scenes photos, an artist blog with a comment section, etc.), in the store that we only want NFT holders to be able to view.
Note: Though most aspects of an NFT cannot be edited after it is published, the Utility section can be changed as many times as you want, even after the mint has ended! This allows you to continually update the content that it unlocks for fans who own it. For example, once you have sold out of an exclusive shirt that you have tokengated, you can remove it from the gated content list (click the trash can icon to the right of the content listing from the Utility page of the NFT) and add new content that will now be gated instead. This is also helpful in that it allows you to add additional gated content over time, which keeps things fresh and fans engaged.
Part 1: Single
Once you reach the Utility page while creating an NFT, click the "Select Items" button within the "Gated Access" section.
Next, select the type of content to be gated from the Content Type drop down menu.
After you have selected the content type, use the search bar to find the product, video, or page you want to tokengate.
Note: Changing the visibility settings (Visible or Hidden) of a gated page within Shopify will disable the gating functionality and it will become public again. In order to fix this, you must go into Single, remove that page from the Gated Access section, save, then re-add it.
Note: Carousel product images will not be displayed for tokengated content. Only the featured product image will display when you gate a product.
Note: Tokengating of only a specific product variant is not supported. You must gate the product and all variants of it.
Next, set the Required NFT Amount and Permitted Purchase Quantity fields (if you have selected Page as your content type, you will only be able to set the Required NFT Amount field), as well as the Discounts Allowed toggle:
The Required NFT Amount determines what quantity of the NFT fans need to be holding in order to access the Product or Page that is tokengated. For example: Say you want fans who hold just one of the NFT to only be able to access an exclusive shirt, but want fans who hold two or more of the NFT to have access to an exclusive vinyl as well. You could do this by setting the Required Amount field for the shirt to "1" and then the Required NFT Amount field for the vinyl to "2."
The Permitted Purchase Quantity field (only applicable if the content type is set to Product) determines the amount of that product a fan can purchase when they own the NFT. This is useful to prevent just a few people from buying out your exclusive tokengated products all at once and to ensure that all NFT holders have a fair chance to purchase them. For example, if you only want to allow NFT holders to purchase a maximum of two of the gated product you are setting up, you would change the Permitted Purchase Quantity field for that product to "2."
The Discounts Allowed switch (only applicable if the content type is set to Product) determines whether or not the product that is being tokengated will be eligible for discount codes. If you leave the switch off, the product will not be discountable in anyway. If you enable, discount codes will be applicable to the product. You can have a mixture of Discounts Allowed and non-Discounts Allowed products gated by the same NFT at once. Each product's discount eligibility is determined by its own Discounts Allowed switch.
If you have selected "Video" as your content type to add Video on Demand to your store, please see HERE for more information.
Finally, choose whether or not you want customers to be able to preview the tokengated content in your store by turning the Content Preview toggle on or off. If you are gating a product and turn this switch on, it means that fans who do not already own the NFT will still be able to see the product in your store, but will be unable to purchase it until they own the NFT. If you are gating a specific page in your store, it means that fans who do not already own the NFT will be able to go to the page, but will only see a prompt telling them that they need to purchase the NFT before they can access the content.
If you want to add additional content to be tokengated by the NFT, click the "+ Add Item" button. For the purposes of this guide, we'll add an additional product and page. When you are done adding all of the content you want to be gated, make sure to click the "Save All" button.
Note: You can rearrange the order in which your gated content is displayed by dragging and dropping the content in the order you desire.
Once you have added all of your tokengated content, you can then customize the message your fans will see upon successfully transferring the NFT into their wallet. You can do this in the "Message" field of the "Transfer Successful Message" section of the page. This can be used to tell them to go check out what content and products they have unlocked with their purchase, using your own, personalized message!
In addition to customizing the message that fans will see, you can also customize what the button they see along with the message will say. You can do this in the "Button Label" field of the "Transfer Successful Message" section.
Note: You can also customize the URL to which this button will take fans when they click it by editing the "Button Link" field. However, by default this is set to take them to the Gated Content page that is automatically created in your store. Generally, it is best to leave this set to the default URL. We suggest that you only change this field if you are an advanced user and have a unique situation that needs to be addressed.
For example, based on the text included above, here's what fans will see on the Transfer Successful landing page after claiming the NFT:
Once you have finished customizing the "Transfer Successful Message" section, make sure to click the "Save" button.
Lastly, after you have selected all of your gated content and made any desired customizations, click the "Create Bundles" button at the bottom of the page to continue.
Part 2: Shopify
In order to work around aspects of Shopify and tokengate content based on NFT holding status, it is required that Single move these gated pieces of content off of any sales channels. Don't worry, products will still be purchasable and pages and videos still viewable to customers that meet the NFT holder requirement! This is just how Single runs the show in the background. 👌
Do NOT add content that is tokengated back on to any sales channels. If you do so, content gating will cease to function.
In addition to removing tokengated content/products from any sales channels in your store, Single also creates a "Gated Content" page in your Shopify Admin that is used to power the content gating process. This page is where customers can go to see all of the exclusive products they've unlocked in your store.
DO NOT delete or rename this page, as it will break the content gating functionality. When you add a page to your navigation, it will allow you to give it a display name that people will see. Here, it is fine to use whatever DISPLAY name you want for the page. Just don't actually RENAME the pages.
Time to get creative! Now that know what's going on behind the scenes, let's set up our store to accommodate for the tokengated content. How you do this is very customizable and totally dependent on how you want your store to look and function. We leave these tools in your hands so that you can get things set up just how you envision them. Having said that, we'll take a look at a basic tokengated content example scenario below, to help get you going.
The "Gated Content" Page
Let's start by adding the Gated Content page to our store Navigation. By going to this page, customers can quickly see any unlocked, exclusive products that they have access to based on which NFTs they hold within their wallet.
To add this page to our store Navigation, from our Shopify Admin, we simply go to Online Store > Navigation > Menus > Select or Add Menu > Add Menu Item > Search for/Add "Gated Content" > Save Menu
Note: For a more detailed explanation of how to edit and add to your Navigation, click HERE.
As you can see, there is now a link to the Gated Content page located in our main Navigation menu at the top of our store. We have chosen to have this link display as "Exclusive Content."
Note: While you must not change the ACTUAL name of the page, while adding the page to your Navigation/Menu, you change the name that will be displayed for it. This does not rename the page itself, just the actionable item/button that directs customers to it.
Upon clicking the "Exclusive Content" button (the Gated Content page) that's now in our Navigation/Menu, customers will be asked to log in with their Solana wallet.
From there, they can click "Connect Wallet," select which type of Solana wallet they have, and login.
If the customer holds an NFT that unlocks tokengated content in the store, after logging in with their wallet, they will be able to access the exclusive content and view the gated page.
If they lack the required NFT to unlock the tokengated content, after logging in with their wallet, they will simply see a page stating that there is no exclusive content viewable to them at this time.
Note: Gated content that is preview-able, but the customer does NOT have the appropriate NFT to unlock, will NOT be included on this page.
Individual NFT Tokengated Content Collections
This all looks great so far! However, wouldn't it be nice if customers had a way to see what content a particular NFT unlocked before purchasing it?
This is easy to do! By using the following method to organize different collections of content gated by NFTs in your store, not only will it give customers an easy place to find each NFT to purchase, but it will also allow them to see what each tier unlocks, if you have "Content Preview" enabled for your gated content.
Let's take a look at how this works...
First, for the context of this demonstration, let's say we decide that we want to offer another, cheaper NFT that only unlocks the exclusive shirt, instead of the shirt, vinyl, and exclusive page. To do so, we'll create a second NFT in the Single app and set the Utility functions for it to only unlock the exclusive shirt (using the demonstrated process from earlier in this article). We'll name this one "Demo NFT 2" ("Demo NFT" was the name of the first one we created that unlocked all 3 pieces of content).
In this particular situation, we want to create a drop down menu in our Navigation called "NFT Content Collections." Then, within that drop down menu, we will have listings for "Demo NFT" and "Demo NFT 2."
Note: Click HERE to read more about creating drop down menus in Shopify
Now, let's go back to the Navigation section in our Shopify Admin. From there, since we want to add it to the same main menu at the top of the store as we did earlier in this example, we'll click "Main Menu."
Next, we'll click "Add Menu Item." We'll name this new menu item "NFT Content Collections" and make it so that it doesn't link anywhere (we're just using this menu item as the drop down section for our individual NFT content display pages, so it doesn't need to link anywhere itself). We can do this by adding # in the link section.
Now, let's nest/add our individual NFT content display pages within the "NFT Content Collections" menu item we just created. We'll click "Add Menu Item" again and name it "Demo NFT." This time, though, instead of searching for an already existing page or location in the store within the Link field, we'll go back to the Single app. From there, we'll need to go to the NFT who's tokengated content display page we want to link to. We'll start with "Demo NFT."
Once we're viewing that NFT in the Single app again, we'll click the "View Gated Content Collection" button.
The page that opens is what we want to link to within our "Demo NFT" drop down menu item. We'll start by copying the URL from this page.
Now that we have our URL, we'll go back to Shopify, paste it into the Link field of the new menu item, and click the "Add" button.
Now we can drag the "Demo NFT" menu item into the "NFT Content Collections" menu item to nest it within and create a drop down menu. We will then repeat this process for "Demo NFT 2" by going to the Single app, grabbing the URL for the Gated Content Collection page of "Demo NFT 2," making a new menu item in Shopify called "Demo NFT 2," adding our URL to the Link field, and nesting it in our drop down menu called "NFT Content Collections."
After we're done, we'll make sure to hit the "Save Menu" button on the bottom right of the page.
Let's go check out our store and see what it looks like!
If a customer clicks on either menu item nested under "NFT Content Collections," they'll be taken to the tokengated content display page for that particular NFT. Here, they will be able to see the content that is unlocked by that specific NFT, whether or not they own the NFT already, but only if the "Content Preview" toggle (covered earlier in the "Part 1: Single" section of this article) is turned on for the content. If the "Content Preview" toggle is left off, customers who do not own the NFT already will not see a preview of the tokengated content when clicking on the content display page for that NFT. In that case, the gated content will not show up for the customer anywhere in the store until they own the correct NFT to unlock it.
This is what our NFT Content Collection pages look like when the "Content Preview" toggle is left on.
Demo NFT 2:
There are many options available that allow you to set this up how you like and customize your exclusive content in a way that suits your particular store. Get creative and experiment with different layouts, NFTs, content preview vs. non-content preview enabled content, etc.! For example, if you wanted to offer NFT holders exclusive, early access to a new merch product, you could tokengate that product behind the NFT up until the release date. At that time, you could then remove it from the gated content of the NFT, making it available to everyone. The possibilities are endless!
Note for advanced users: If you customize the templates for the pages utilized in the Utility/Gated Content Access features, it is highly recommended that you turn on "Developer Mode" within the Single app. This will ensure that any updates deployed by Single do not alter your customizations. If you do not do this, app updates could result in you losing any customizations you have made to the page templates.