Learn Best Practices for Testing Personalization
As an Alexa skill developer, you should test the skill experience from end to end. To start testing, you must ensure that your Amazon account contains at least one recognized speaker for whom Personalize skills is enabled. After setup, you should test how the skill responds when multiple recognized speakers interact with your skill on an Alexa device under the same account. If your skill has account linking, you should test account linking that is done with the shared account, and with personal profiles. You should also test what happens when a recognized speaker disables Personalize skills.
For details about building a skill with personalization, see Add Personalization to Your Skill.
- Manage skill personalization as a skill user
personIdvalues in skill requests
- Re-prompt if a speaker is unrecognized
- Troubleshoot the lack of a
personobject in skill requests
- Test your skill personalization
- Checklist: test account linking with personalization
- Test your skill in the simulator
- Related topics
Manage skill personalization as a skill user
To test the user experience, you must set up your Amazon account and voice IDs to test different scenarios.
These instructions are for a speaker who wants to enable or disable Personalize skills in their voice ID. As part of your test plan, you should make sure your Amazon account contains at least one recognized speaker, and consider enlisting other people to set up personal profiles in your account also. You should also test your skill with a recognized speaker whose profile has Personalize skills disabled.
The terms Alexa profile and personal profile are used interchangeably and refer to the information that identifies an Alexa user, including the user's voice ID. To see your own personal profile, go to the Alexa app, and select Settings > Your Profile & Family.
The voice ID is part of the personal profile. To make changes to your voice ID, delete your voice ID, or add more voices, select Settings > Your Profile > Voice and follow the on-screen instructions.
To set up a new Alexa profile
- Go to the Alexa app, and then select Settings > Your Profile & Family.
- Follow the instructions on the screen to add an additional profile.
To check whether your Alexa profile currently allows personalization, and to change the setting if desired
- Go to the Alexa app.
- Go to Settings > Your Profile & Family > Your Profile > Voice ID > Voice ID settings.
- Enable or disable Personalize skills, if desired.
For any Alexa profile, you can disable Personalize skills at any time in the Alexa app. If you do so, the other personal profiles present in the account are not affected. Each personal profile has a separate Personalize skills toggle.
Voice IDs are associated with an Amazon account. Therefore, speaker recognition is separate for each Amazon account. If you want to access personalized skills on more than one Amazon account, make sure your profile is set up in each account with the desired Personalize skills and account linking settings.
personId values in skill requests
With skill personalization for recognized speakers, your skill service might need to track both the
personId values separately in skill requests. With this tracking, one or more speakers and Alexa can participate in an ongoing interaction, such as a game. One speaker might be in Part 1 of a game, whereas another speaker is in Part 3. If your skill is tracking
personId, then it can remember the last request that a particular speaker made, and resume the skill from that point.
Consider scenarios where Alexa recognizes a speaker, proceeds with personalized skill responses, but then another speaker starts speaking to Alexa. How will your skill service keep track of these skill requests that belong to different users? Many skills that proceed over multiple sessions need to be able to track
personId to provide the users with as personalized an experience as possible.
Re-prompt if a speaker is unrecognized
Because Alexa doesn't always recognize a speaker who has a voice ID, the speaker might have a jarring experience if the skill provides personalized responses and then suddenly switches to generic responses during the skill session. Suppose Alexa doesn't recognize the current speaker, but has been in an ongoing skill session with a recognized speaker. Either the speaker is the same, but Alexa has not recognized that, or another speaker has taken over. If your skill service recognizes the lack of a
person object, after having one or more recent skill requests that do include a
person object, your skill service could do a re-prompt to give Alexa another chance to recognize the speaker's voice.
Troubleshoot the lack of a
person object in skill requests
If Alexa sends your skill a request that doesn't include a
person object, when you would expect that it should, check the following:
- On the developer side, have you enabled permissions for Skills personalization in the developer console for your skill?
- On the speaker side, go to the Alexa app for the account that the device is using. Check the voice ID for the current speaker. Is the Personalize skills toggle on?
- Is there an issue with the speaker's sound quality? Is the speaker in a noisy environment, or not close enough to the Alexa device?
Test your skill personalization
To properly test your skill, you should have at least one account with multiple recognized speakers, and at least one other account that you can switch to, that preferably doesn't have any recognized speakers. Ideally, you have several recognized speakers available to create personal profiles and make voice requests to your skill.
Make sure your skill testing runs through these cases.
Test the behavior of your skill when a speaker new to the household interacts with the skill. If you don't have a new speaker, you can delete a speaker's voice ID, and then proceed to have that speaker interact with the skill. This speaker can then re-create their voice ID and test again.
Test the behavior of your skill if Personalize skills is enabled for a voice ID in the Alexa app. Your skill should provide personalized responses when that speaker interacts with the skill.
Test the behavior of your skill if a recognized speaker turns off Personalize skills in the Alexa app, after previously obtaining personalized responses.
Test the behavior of your skill when a recognized speaker, who has previously received personalized responses, disables your skill and then re-enables it.
In all cases where a speaker is not recognized, or Personalize skills is disabled, make sure the skill either has a default workflow for unrecognized speakers, or exits gracefully.
Test what happens when you switch accounts on a device, or register your device to another Amazon account which doesn't have a voice ID created. Proceed through the skill testing again.
Checklist: test account linking with personalization
If your skill supports both personalization for recognized speakers and account linking, you should test this interaction.
Complete the following checklist of prerequisites and tests:
- You have created a skill that supports personalization for recognized speakers and account linking.
- Your Alexa app has at least one recognized speaker with a voice ID.
- At least one recognized speaker has Personalize skills enabled in the Alexa app.
- If a skill supports personalization for recognized speakers and account linking, a recognized speaker that has Personalize skills enabled can account link with their personal profile. If Personalize skills is disabled for a recognized user, this user can account link at the default shared account level.
- Test your skill as a recognized speaker with a personal profile with account linking.
- Perform account linking at the shared account level, and test the skill with both recognized and unrecognized speakers.
- Test what happens when you unlink an account, at either the shared account or personal profile level, and then continue to use the skill.
To perform account linking for your skill with your personal profile
This procedure assumes you are testing an unpublished skill, or a skill with changes that you have not yet published.
- Make sure you fulfill the prerequisites listed in the previous checklist.
- Sign in to the Alexa app with your developer account. Make sure that you have also signed in with your developer account on your Alexa-enabled device for testing.
- In the Alexa app, choose Skills & Games.
- To open a list of skills that you have created, choose Your Skills > Dev Skills.
- Choose your skill that includes personalization.
- If this skill isn't enabled, choose Enable to Use. Choose Link account to start the account linking process. The Alexa app guides you through the steps to link your personal account.
- If you have already enabled your skill with personalization, on that skill page, choose Settings > Manage accounts.
- Choose +Add Account, and then then follow the prompts to set up account linking for your personal account.
If you have previously set up account linking for your skill before adding personalization, your skill is linked to the shared Amazon account shown in the Skill Settings page. You can check if your personal or shared account is linked for your skill, and then unlink either of those.
To unlink account linking for your skill
- In the Alexa app, select Skills & Games from the menu.
- If your skill is live, choose the magnifying glass, and enter the name of your skill to search for it in the Alexa Skills Store. If your skill is in development, choose Your Skills > Dev skills, and open your skill page.
- Click on Settings.
- On the Settings page, you can see if a shared or personal account is linked.
- To unlink your personal or shared account, select Manage Accounts.
- To unlink the shared account, select Unlink next to Shared account on the Manage Accounts page.
- To unlink your personal account, click on Unlink next to your personal account.
You can't unlink personal profiles that belong to other speakers.
Any skill user who can access the device can test the skill, regardless of whether the skill has account linking for your own Alexa profile, someone else's Alexa profile, or for the shared account. Determine how you want the skill to behave in each case.
If you have Personalize skills disabled for the current personal profile, you can still link an account to the skill, and this linked shared account will be tied to your Amazon account. To do that, go to the skill page and select Settings > Manage Accounts > Add Account.
To determine how personalization and account linking affect skills, see Personalization and Account Linking.