Use EventClass.appLinkData to place an app link at the bottom of all the passes of that class.
One benefit of app linking is that it empowers your call-to-action to navigate
users to your branded experiences from Google Wallet. Links with this feature appear at the bottom
of the Pass.
Feature example
Issuer
Set the app link on your Google Wallet pass
For a given event ticket, set the field EventObject.appLinkData
to the URI or Package name of your app or website.
See the format and context of the appLinkData field in the following source code:
The displayText field is limited to 30 characters.
[[["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 2025-09-04 UTC."],[[["\u003cp\u003eThere are four ways to add links to event tickets, including using \u003ccode\u003eEventClass\u003c/code\u003e or \u003ccode\u003eEventObject\u003c/code\u003e properties for general links and \u003ccode\u003eappLinkData\u003c/code\u003e for app-specific links at the bottom of the pass.\u003c/p\u003e\n"],["\u003cp\u003eApp linking allows you to direct users to your app or website directly from the Google Wallet pass, enhancing user engagement.\u003c/p\u003e\n"],["\u003cp\u003eTo enable app linking, set the \u003ccode\u003eEventObject.appLinkData\u003c/code\u003e or \u003ccode\u003eEventClass.appLinkData\u003c/code\u003e field to the URI or package name of your app or website.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eappLinkData\u003c/code\u003e field supports linking to both Android and web apps, providing flexibility in your call-to-action.\u003c/p\u003e\n"],["\u003cp\u003eWhen setting app links, ensure the \u003ccode\u003edisplayText\u003c/code\u003e is limited to 30 characters for optimal display on the pass.\u003c/p\u003e\n"]]],["Links can be added to event tickets in four ways: using `EventClass.LinksModuleData` for all tickets in a class, `EventObject.LinksModuleData` for a specific ticket, `EventObject.appLinkData` for an app link on a specific pass, or `EventClass.appLinkData` for an app link on all passes of a class. App links, which appear at the bottom of the pass, navigate users to branded experiences. `EventObject.appLinkData` can be set to an app's URI or package name, using either `androidAppLinkInfo` or `webAppLinkInfo`. The display text for the link is limited to 30 characters.\n"],null,["# Add links to your Event ticket\n\nThere are four ways to add links to a event ticket.\n\n- Use `EventClass.LinksModuleData` to add links to all event tickets that are associated with the `EventClass`.\n- Use `EventObject.LinksModuleData` to add a link to a specific event ticket `EventObject`.\n- Use [EventObject.appLinkData](/wallet/tickets/events/rest/v1/AppLinkData) to place an app link at the bottom of that particular Pass.\n- Use [EventClass.appLinkData](/wallet/tickets/events/rest/v1/AppLinkData) to place an app link at the bottom of all the passes of that class.\n\n\nOne benefit of *app linking* is that it empowers your call-to-action to navigate\nusers to your branded experiences from Google Wallet. Links with this feature appear at the bottom\nof the Pass.\n\n### Feature example\n\n|--------|\n| |\n| Issuer |\n\n### Set the app link on your Google Wallet pass\n\nFor a given event ticket, set the field `EventObject.appLinkData`\nto the URI or Package name of your app or website.\n\n\nSee the format and context of the `appLinkData` field in the following source code:\nThe `displayText` field is limited to 30 characters.\n**Note:** To deep link to a specific view within an app you must use webAppLinkInfo. \n\n```\n {\n \"id\": string,\n \"classId\": string,\n …\n …\n …\n \"appLinkData\": {\n \"androidAppLinkInfo\": {\n \"appTarget\": {\n \"packageName\": \"com.google.android.gm\",\n }\n },\n \"webAppLinkInfo\": {\n \"appTarget\": {\n \"targetUri\": {\n \"uri\": \"https://mail.google.com/mail/\",\n \"description\": \"Web link for Gmail\"\n }\n }\n }\n \"displayText\": {\n \"defaultValue\": {\n \"value\": \"Our awesome app!\"\n }\n }\n }\n }\n```\nFor posterity the following implementation will also work. \n\n```\n{\n \"id\": string,\n \"classId\": string,\n …\n …\n …\n \"appLinkData\": {\n \"androidAppLinkInfo\": {\n \"appTarget\": {\n \"targetUri\": {\n \"uri\": \"https://play.google.com/store/apps/details?id=com.google.android.gm\",\n \"description\": \"Play store link for Gmail app\"\n }\n }\n }\n }\n}\n```"]]