Transactions API will be deprecated on May 3, 2023, ahead of the Conversational Actions sunset on June 13, 2023. For more information, see
Conversational Actions sunset.
Design guidelines
Stay organized with collections
Save and categorize content based on your preferences.
Design a conversation to guide users through your transactional
flows. We've provided reference examples that you can use as a guide
when designing your own transactional Actions.
Examples
Design tips
Make sure the dialogs
sound natural and conversational
— the way a real person would talk.
The text spoken by your TTS/voice does not have to exactly match the text
shown in your chat bubbles. It works well if the chat bubbles are a subset
of the spoken dialog.
Greet your visitors and get them engaged. Ask what they need and offer a
few suggestion chips to get them started.
Before inviting the user to add items to the cart, do a backend check by
adding slot filling and using the actions.type.TransactionRequirementsCheckResult
slot type to confirm the user has payments set up for their Google Assistant.
Be prepared to respond to the same issues with voice as with other mobile
or web experiences. For example, offer a similar item when you're out of a
certain size or color, or invite users to sign up to be notified when the
item is back in stock.
Note that the order summary is built with the data you pass via the API.
The "Pay with Google" label helps users understand that Google facilitated
the payment.
When requesting info from your users, like their address info, first let
them know why you are making the request and how it will benefit them.
Google will present the purchase authorization method (either no auth
required, password, or fingerprint) based on the user's settings. Sometimes
our risk assessment will kick off an additional auth step like confirming
CVV for a card.
After the payment is complete, be sure to send a receipt and an order
confirmation. It's important that users understand that you are the merchant
of record, and will follow up with all details about the order, not Google.
By default transactions can be performed on either a surface with a
screen (such as an Android phone) or a voice-only surface (such as a Google Home).
To best support voice-only transactions, take extra care to design
a good conversational experience
that walks users through the full transaction experience.
Note that some transactions intents may require a screen. Most of these
(e.g. adding a new delivery address, fixing payment issues, account linking)
will be handed off to the phone automatically. If there are any additions
to the conversation that are best displayed on a screen
(e.g. presenting rich responses for card building, displaying a merchant
ToS or privacy policy), you should check if the current surface supports
the RICH_RESPONSE
or WEB_LINK
capabilities,
and transfer to a new surface if not.
If you would rather not support voice-only transactions with your
Action, you can set your Actions project to require a screen by
navigating to Deploy > Surface capabilities in the
Actions console and setting
Do your Actions require a screen output to Yes.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eDesign conversational transactional flows, similar to natural human interactions, guiding users through the process.\u003c/p\u003e\n"],["\u003cp\u003eUtilize provided examples and design tips to create effective and user-friendly transactional Actions.\u003c/p\u003e\n"],["\u003cp\u003eEnsure clear communication, address potential issues proactively, and inform users about Google's role in payment processing.\u003c/p\u003e\n"],["\u003cp\u003eOptimize for both screen and voice-only interactions by tailoring the conversation and utilizing surface capabilities effectively.\u003c/p\u003e\n"],["\u003cp\u003eCustomize the user experience by enabling or disabling screen requirements based on your Action's functionalities.\u003c/p\u003e\n"]]],[],null,["# Design guidelines\n\nDesign a conversation to guide users through your transactional\nflows. We've provided reference examples that you can use as a guide\nwhen designing your own transactional Actions.\n\nExamples\n--------\n\n[](https://docs.google.com/presentation/d/1Zw-Cg4ODJWpEViJJT_LugxvFv1VeOB7Hw54wNQemrfg) [Shoe store Example](https://docs.google.com/presentation/d/1Zw-Cg4ODJWpEViJJT_LugxvFv1VeOB7Hw54wNQemrfg) \n[](https://docs.google.com/presentation/d/1RBVzklC8n7nPU98lRt1CkzDSFcBlaQf5PWVtlr58OQQ) [Ticketing example](https://docs.google.com/presentation/d/1RBVzklC8n7nPU98lRt1CkzDSFcBlaQf5PWVtlr58OQQ) \n[](https://docs.google.com/presentation/d/1icd64B_mJvba6lmhlfmUy35sejy5n-LsYYkvPXzUXgA) [Flower Shop Example](https://docs.google.com/presentation/d/1icd64B_mJvba6lmhlfmUy35sejy5n-LsYYkvPXzUXgA)\n\nDesign tips\n-----------\n\n- Make sure the dialogs\n [sound natural and conversational](/assistant/conversational/df-asdk/design)\n --- the way a real person would talk.\n\n- The text spoken by your TTS/voice does not have to exactly match the text\n shown in your chat bubbles. It works well if the chat bubbles are a subset\n of the spoken dialog.\n\n- Greet your visitors and get them engaged. Ask what they need and offer a\n few suggestion chips to get them started.\n\n- Before inviting the user to add items to the cart, do a backend check by\n adding slot filling and using the `actions.type.TransactionRequirementsCheckResult`\n slot type to confirm the user has payments set up for their Google Assistant.\n\n- Be prepared to respond to the same issues with voice as with other mobile\n or web experiences. For example, offer a similar item when you're out of a\n certain size or color, or invite users to sign up to be notified when the\n item is back in stock.\n\n- Note that the order summary is built with the data you pass via the API.\n The \"Pay with Google\" label helps users understand that Google facilitated\n the payment.\n\n- When requesting info from your users, like their address info, first let\n them know why you are making the request and how it will benefit them.\n\n- Google will present the purchase authorization method (either no auth\n required, password, or fingerprint) based on the user's settings. Sometimes\n our risk assessment will kick off an additional auth step like confirming\n CVV for a card.\n\n- After the payment is complete, be sure to send a receipt and an order\n confirmation. It's important that users understand that you are the merchant\n of record, and will follow up with all details about the order, not Google.\n\n- By default transactions can be performed on either a surface with a\n screen (such as an Android phone) or a voice-only surface (such as a Google Home).\n\n - To best support voice-only transactions, take extra care to design\n a [good conversational experience](/assistant/conversational/df-asdk/design)\n that walks users through the full transaction experience.\n\n - Note that some transactions intents may require a screen. Most of these\n (e.g. adding a new delivery address, fixing payment issues, account linking)\n will be handed off to the phone automatically. If there are any additions\n to the conversation that are best displayed on a screen\n (e.g. presenting rich responses for card building, displaying a merchant\n ToS or privacy policy), you should check if the current surface supports\n the `RICH_RESPONSE` or `WEB_LINK`\n [capabilities](/assistant/conversational/reference/rest/v1/TopLevel/fulfill#capability),\n and transfer to a new surface if not.\n\n - If you would rather not support voice-only transactions with your\n Action, you can set your Actions project to require a screen by\n navigating to **Deploy \\\u003e Surface capabilities** in the\n [Actions console](https://console.actions.google.com) and setting\n **Do your Actions require a screen output** to **Yes**."]]