How to Design for In-Skill Purchasing

Provide Access to Purchases

Have you ever bought something, misplaced or forgot you had it, then ended up buying it again? It’s pretty easy to lose a physical object. Wouldn’t it be nice if you had some way of keeping track of all your stuff that could reliably tell you where you last left it? When a customer buys your premium in-skill content they are buying a digital good that doesn’t physically exist. It’s an abstract item that only exists within the context of your skill. You can’t physically grasp and interact with a digital object, which makes it easier to lose track of. To help your customer out, you’ll need to keep track of what they have and haven’t purchased and provide access to that information when they ask, "What can I buy?" or "What did I buy?"

What can I buy

As the number of skills that feature premium content increases, customers will come to expect most skills offer some kind of premium content to enhance the experience. They’ll want to know what premium content your skill offers. So, you’ll need to provide a response for questions like:

  • What are you selling?
  • What comes with a subscription?
  • What’s new?

For Seattle Super Trivia, we provide a high level response that summarizes our premium content. We don’t want to overwhelm our customer with too many options. Since our customer has asked about our premium content, it’s a great opportunity to make an upsell. Take a moment to read the script below and we’ll explain why we made a note to ourself to add an upsell:

Customer: "What can I buy?"
Alexa: "You can stock up on more hints to use any time, or play one of the Mega Packs with more than 50 questions. For the REAL Seattleites, a Seattle Super Trivia subscription includes a double dose of daily challenge questions, an extra free hint each day, and access to discounted trivia packs. [insert upsell here]"

— Seattle Super Trivia

Seattle Super Trivia offers a subscription, various themed mega trivia packs and a pack of hints. We have several products that we could potentially upsell but we don’t want to overwhelm our customer with too many options. So, we only upsell one product at a time.

We also made sure to only upsell content that they haven’t purchased yet which is why we didn’t just include it in the response. We’ll need to craft our upsell message differently for high five subscribers and non-subscribers. We’ll need some programming logic that determines what they have previously purchased to craft the upsell message.

Take a look at our upsell message for non-subscribers vs. subscribers.


"Want to learn how to subscribe?"


"Which would you like to learn more about?"

For subscribers, we’ll also want to remove the second sentence, where we introduce the high five subscription, since they already own that content.

What did I buy?

Once your customer has made some purchases, you should expect they will ask you what content they have purchased. When asked, your skill should respond with a quick inventory. Keep in mind that a customer may have a LOT of purchases. Don’t overwhelm your customer with too much information. If they have made more than a few purchases, send a card to their Alexa app and if they are using an Alexa-enabled device with a screen, you can use the Alexa Presentation Language (APL) to present their purchases in a list that they can scroll through.

If the customer has purchased all your content offerings and they say something like:

  • What can I buy?
  • Play one of my packs
  • What comes with my subscription

Let them know they’ve purchased everything presently available and then follow-up with a summary of what they own.

Be sure to think about the multiple ways customers will want to interact with their content. While we listed out three samples above it’s not an exhaustive list. The more options you provide the more forgiving your skill will be if they say something that doesn’t quite match.

See below how Seattle Super Trivia responds when our customer who previously purchased a bunch of the mega trivia packs asks, "What did I buy?"

Customer: "What did I buy?"
Alexa: "Thanks for purchasing the [last item purchased] and more! I’ve sent some information about all your purchases to your Alexa app. Want to play one of your packs?"

— Seattle Super Trivia

Since our customer has already bought a bunch of our mega trivia packs, we tell them their most recently purchased pack. Then we direct them to the Alexa app where we sent the full list. If our skill was called from a device with a screen we would use APL to show a list of all their purchases.

Now let’s take a look at our response when the user has an active subscription:

Customer: "What did I buy?"
Alexa: "Your Seattle Super Trivia subscription includes a double dose of daily challenge questions, an extra free hint each day, and access to discounted trivia packs."

— Seattle Super Trivia

In this case, we list off the content included with their subscription. Be careful not to go overboard listing off too much content if your subscription includes a lot.

If the customer has purchased all your content offerings and they ask, “What can I buy?” let them know they’ve purchased everything presently available and then follow-up with a summary of what they own. Don’t forget to provide on-screen details with APL if the device has one.

"What did I buy" for skills with a free trial

Although Seattle Super Trivia doesn’t feature a free trial period, if we offered one and our customer is a new subscriber within their free trial, we should provide some information regarding their free trial including how much time is left.

Providing access to content

You’ll need to be able to provide access to content that your customer has purchased. The type of access and how you’ll surface that content differs depending on the type of content (subscriptions, one-time purchases, consumables) and the amount of content. Your customers should be able to ask about what content they have access to as well as the ability to access those purchases at any time.

Content Overload

Have you ever been to a restaurant that has a huge menu with no pictures? Having a ton of options seems great at first until you’re with stuck analysis paralysis, or the inability to make a decision because they are too many choices available. It may not seem so, but too many options can make it hard to make a decision. If a purchase unlocks a large collection of content, avoid verbally listing out the entire collection because it will most likely confuse your customer or make them tune out because there’s too much information to process. Instead provide a brief description of the content and how many items they have access to. You should also keep track of the content they’ve previously accessed versus what they haven’t. That way you can reduce repetition by automatically providing content they haven’t interacted with recently or at all.

For Seattle Super Trivia, when a customer buys a mega trivia pack, we keep track of what questions they haven’t answered and prioritize asking those until they’ve completed them all. We don’t want to repeat any questions until they’ve gone through all of them.


Subscriptions are the easiest in-skill products to provide access to. Especially for skills that satisfy the free content requirement via a free trial. Your skill only needs to check if your customer is "entitled" to the subscription.

For Seattle Super Trivia subscribers upon opening the skill, we start them off with the free five. Then we’ll indicate it’s time for the subscriber exclusive bonus round and ask the first question. We could have just skipped right to question 6, but it’s nice to remind our customer of the benefits of their subscription with something like:

Alexa: "You’re really killing it today! Here’s your bonus round for the day. Sixth question …"

— Seattle Super Trivia

One-time Purchases

As the name implies, a one-time purchase is something that can be bought once and only once. Once purchased, our customer then has access to that content forever. That means we need to provide a way for our customer to be able to request access to that content any time after they’ve purchased it.

Seattle Super Trivia offers several mega trivia packs as one-time purchases. Our customer will need a way to play, save progress, and finish their question packs. We’ll also need to account for our rabid fans that have bought more than one pack! Those packs will be in many states of completion. We will need to let our customers access their purchases at a few key points:

  1. Immediately after purchasing a pack.
  2. Upon completion of the free five.
  3. Upon request from the customer

1. Immediately after purchasing a pack

We certainly want to give them the option to play right after they’ve purchased the pack. The example below shows how we provide context to indicate what in-skill content they just gained access to.

Alexa: "Now you’re ready to really get to know Seattle! Ready to dive into your shiny, new ‘History of Seattle’ super pack?"

— Seattle Super Trivia

2. Upon completion of the free five

We’ll also want to remind the player that their trivia experience doesn’t have to end after playing the free five. Instead, we’ll offer something they’ve purchased after they play through the free content. If they’re a subscriber, we’ll wait until they’ve finished the high five bonus round.

Below is an example with supporting context about the customer’s progress through the skill with a swift follow up of available content to keep playing.

Alexa: "You nailed today’s challenge with a perfect score. Nice work! You can keep this trivia train rolling with your ‘Seattle Sports Superstars’ pack. It has 13 of 50 questions left. Want to play it?"

— Seattle Super Trivia

Did you notice that we provided some context about their progress? They’ve previously purchased and interacted with this content, but haven’t heard all the questions. They have 13 questions left.

3. Upon request from the customer

How we respond and provide access to content to their one-time purchases depends on if the customer:

  1. Requested a specific pack
  2. Asked for a random pack and:
    • Has only one pack
    • Has multiple packs

Requested a specific pack

If our customer requests a specific pack that they have purchased we know they want to interact with that content so we’ll simply start the game where they left off. As we did previously, we’ll provide some context about their progress.

Customer: "I want to play the 'Seattle Sports Superstars pack'"
Alexa: "There are 13 of 50 questions left in your ‘Seattle Sports Superstars’ pack. Let’s not spike the ball here. Question 38 …​"

— Seattle Super Trivia

Asked for a random pack

When our customer asks for a suggestion from their collection of packs, we’ll have to decide what to suggest them based upon how many packs they have. It’s quite simple if they only have one see below how we respond in that case.

Customer: "I want to play one of my packs."
Alexa: "You only have the ‘Seattle Sports Superstars’ pack. There are 5 of 50 questions left. It’s time for a hail mary! Question 46 …​"

— Seattle Super Trivia

Pretty straight forward, but things get tricky if they own multiple. We’ll have to decide how many of those packs to offer at once.

Let’s take a look at what NOT to do. While watching ask yourself:

  • Why is this approach no good?

Randomly offering content is ineffective

That was pretty boring wasn’t it? Justin wasn’t smart about his recommendations. He didn’t overwhelm Alison with too many choices, but he just listed them off randomly one by one and eventually Alison got really bored.

Let’s think about how we can make this better. We need keep our suggestions narrow and avoid suggesting more than 3 options while providing an option to ask for more in case they aren’t satisfied with the suggestions. It’s better to make an educated guess at what you should suggest next.

For Seattle Super Trivia, make the suggestion based upon what mega trivia pack they had been playing with last. Watch the video below to see our approach and ask yourself:

  1. How is this approach different than the previous?
  2. How does this approach keep the momentum of the game going?
  3. How many options did Justin offer after Alison declined the first suggestion?

Offering content based upon context is more effective

The educated guess is much smoother. We based or suggestion based upon mega trivia pack that Alison was last playing. So she could jump right back into the game without skipping a beat. Since she declined to play the previous pack, Justin told her that she had 6 more packs to choose from and listed off 3 of the packs for her to choose from. He was also careful not to repeat the pack that she previously declined. He also gave her an option to ask for more packs in case she wasn’t interested in the 3 he suggested.


A consumable is meant to be used once. Upon consumption, the customer no longer has access to it. You can think of it like ordering a coffee at your favorite coffee shop. Once you’ve quaffed it all down, there’s no coffee fountain for a free refill. If you want another cup of your favorite joe, you’ll need to pay for another. Some coffee shops allow you to use your own tumbler so you can consume it later. If you choose to let your customer keep their consumables for later, you’ll need to provide a way for them to check how many they have left.

In Seattle Super Trivia, we allow players to stock-pile hints. That means we’ll need to support customers asking to:

  • Use a hint during game play
  • Hear how many hints they have left.

Remember that we also provide one free daily hint! So we must be transparent about when the player is using their free daily hint or one of their purchased hints.

Both the failure to confirm whether the customer wants to use the hint and failure to consume the free hint first before consuming purchased hints will confuse, upset and break customer trust. Let’s watch Justin and Alison act out how infuriating that would be.

OUCH! She only wanted to know how many hints she had left

That’s pretty frustrating! Alison just wanted to check how many hints she had left and Justin went ahead and used one of her hints. Alison was so taken aback that she lost focus on the game. She’s now out one hint that she didn’t intend to use and she also got the answer wrong for a double dose of sadness.

Now that we know what not to do. Let’s take a look at we designed Seattle Super Trivia to design to respond to questions about how many hints are left. Ask yourself:

  1. What’s different?
  2. How is this better?

Clear and concise communication of what will be consumed is important

In this case, Justin made it explicitly clear that Alison had already used her daily free hint and she has 2 hints remaining. This makes it abundantly clear that only 1 hint will remain if she decides to use her hint. He also took the opportunity to upsell another pack since it was the end of the game and she scored a perfect score of 5 out of 5.

Help your customer use consumables when it makes sense

During the game, it’s possible that our customer may be so focused on the game that they might forget that they hints available. With Seattle Super Trivia, we remind players they can use a hint they’ve purchased when they take a long time to answer a question. Below you can see how we designed Seattle Super Trivia to remind players of their hints

While reading ask yourself:

  1. When do we suggest they use a free hint?
  2. How many hints free hints and how many consumable hints will they have left?

Alexa: "In what year did Washington’s first college, the University of Washington, open in Seattle – was it: A. 1920; B. 1861, or C. 1790?"
Customer: "repeat"
Alexa: "In what year did Washington’s first college, the University of Washington, open in Seattle – was it: A. 1920; B. 1861, or C. 1790?"
Alexa: "You still have a free hint today, and 5 hints total. Do you want to use your free hint?"

— Seattle Super Trivia

Notice how we didn’t suggest they use a hint right away. We did so after they took a while to respond with the answer after asking to repeat the question. This is a sign that our customer is stumped and could use a hint. We also made it abundantly clear that we’re using their free hint, so they’ll have 5 purchased hints left.