Discounts

Running Discounts

Based On Purchase History From Your Channel

Discounts can be run based a user's purchase history on either CanCan or eCollectibles. In other terms you can setup your discount such that:

  • (case 1) Only users that have bought at least a specific number of items, on a specific channel, between two specific dates can qualify

  • (case 2) Only users that have bought items that sum up in total value to at least a specific amount of tokens, on a specific channel, between two specific dates can qualify

  • (case 3) Only users that qualify for both case 1 & 2 qualify for the discount

Case 1:

Here is a step by step guide to setup a reward for users that have purchased at least a specific number of items between two specific dates

  • Go to the product page of the item for which you want to create a discount by finding the item on your channel's main page and clicking on it

  • On the product page, click on the Adjust settings button

  • In the menu that shows, click on Update Discounts & Cashbacks

  • Let's will put our discount status to Open

  • For the second parameter, let's start our reward from today: October 19th, 2023. This means users that qualify for our discount will be able to claim it from today

  • The third parameter is a bit tricky since it is a comma separated list of multiple parameters (the start of the time range, the end of the time range, the discount percentage, the lower threshold, the upper threshold, and the limit). Let's reward users that have purchased at least 20 items from our channel between October 1st, 2023 at midnight and October 10th, 2023 at midnight

To do so, we will need to convert the dates into Unix Timestamps. Head over to this page. Input the date October 1st, 2023 at midnight and click on the button Human date to Timestamp to convert into Epoch timestamp (1696118400).

Repeating the same for the second date (October 10th, 2023 at midnight) gets us 1696896000.

Our next parameter is the discount percentage which we will set at 10%.

The next parameter sets a lower bound on the number of items users should have bought and as we said, that number is 20 items

The parameter after that sets an upper bound on that number. Let's make it a big number to not prevent users that have bough a lot of items from getting a discount (10000).

The last parameter in the comma separated list sets a limit on the number of times a user can claim this specific discount. Let's set it at 1.

To sum up, our input for third field will be: 1696118400, 1696896000, 10, 20, 10000, 1

This will reward each user that has bought at least 20 items and at most 10000 items between midnight of October 1st, 2023 and midnight of October 10th, 2023 with a one-time discount of 10% on the price of the product on the current page.

Since in this case we are only rewarding users based of the number of items purchased, we will leave the fourth field empty.

  • The next field after that determines how the marketplace checks for the number of time a discount is claimed by the user, if you leave Check Identity at No, the marketplace will do a surface level check by using the user's wallet address as the user's identifier. If you pick Yes, then the marketplace will use the users' SSID (which is a unique identifier that users get approved auditors to create for them) as identifier for them. Since the latter check requires more from the user, sellers should keep in mind that using the SSID identification instead of a simple wallet address identification can make their discount less effective in getting users to purchase their items.

  • The last parameter if set to Yes, will only check the number of the current item (uber) purchased by the user. If set to No, will check all items available on the current channel; meaning since we are only qualifying users that have bought at least 20 items, if we set this parameter to Yes, we will only be qualifying users that have bought at least 20 of the current item (uber) but if set to No, we will be qualifying users that have bought at least 20 items from the current channel no matter if they were the current item (uber) or not

Case 2:

For this case we are looking to qualify users based on the total price of all the items they bought between two specific dates. To do so, repeat every single step from the previous case except for the third and fourth field

  • Leave the third field empty since we are not qualifying users based on the number of items purchased

  • The fourth field enables you to qualify users based on the total cost of items purchased instead of the total number of items purchased. For instance, inputting this (1696118400, 1696896000, 10, 20, 10000, 1) in the fourth field will reward each user that has bought a total number of items that amount in value to at least 20 tokens (tokens being a placeholder for whatever token your product is priced in) and at most 10000 items between midnight of October 1st, 2023 and midnight of October 10th, 2023 with a one-time discount of 10% on the price of the product on the current page.

Case 3:

For this case we are looking to qualify users based on both the number of items purchased and the total price of all items purchased between two specific dates. To do so, repeat every single step from the Case 1 except for the fourth field. For this field we will repeat what we did in the Case 2.

So the entry for the third field will be: 1696118400, 1696896000, 10, 20, 10000, 1

And the entry for the fourth field will be: 1696118400, 1696896000, 10, 20, 10000, 1

This will qualify each user that has bought at least 20 items and at most 10000 items between worth at least 20 tokens and at most 10000 tokens between midnight of October 1st, 2023 and midnight of October 10th, 2023 with a one-time discount of 20% ( 10% + 10%) on the price of the product on the current page.

Based On Purchase History From Other Channels

You can also run discounts based on purchase history from other channels.

To setup the discount, go to your item's product page and click on the Adjust settings button:

  • In the menu that shows, click on Update Burn For Credit Tokens

Let's reward users that have bought an item with id (uber) from channel 1 with a discount of 10%

  • Set the Address of the Token to that of the NFTicket Helper2 contract

  • Set the Discount Number to 10

  • Set the address of the Checker contract to that of the NFTicket contract

  • Set the Destination to the zero address (0x0000000000000000000000000000000000000000)

  • Set the Collection ID (which is also the Channel ID) to 1

  • Set the Product ID to uber

  • Set the Clear parameter to No

  • Validate the form

This will setup a discount that users that have bought the item (uber) from the channel 1 will be rewarded with a discount of 10% on the current product for each purchase they've made

Last updated