> ## Documentation Index
> Fetch the complete documentation index at: https://kb.aampe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Action Buttons

When you add action buttons to a push notification, users see one or more tappable buttons below the notification text. Each button can trigger a specific action: opening the app, navigating to a web URL, or deep linking to a specific screen within your app.

Action buttons are available for **push notifications only** and work on both iOS and Android, though the experience differs between platforms.

***

## Platform Behavior

### iOS Action Buttons

iOS uses a system of **notification categories** — pre-defined button groupings that your app registers during setup. When you configure action buttons in Aampe, you select a category, and the corresponding buttons are displayed automatically.

Available categories:

| Category         | Buttons Displayed |
| :--------------- | :---------------- |
| Accept / Decline | Accept, Decline   |
| Yes / No         | Yes, No           |
| Confirm / Cancel | Confirm, Cancel   |
| More             | More              |

On iOS, button labels are determined by the selected category. Custom button text is not supported for most providers.

### Android Action Buttons

Android supports fully customizable action buttons. You can set any text for each button and configure up to 3 buttons per notification. No category selection is required.\\

## Setting Up Action Buttons in Composer

1. Create or edit a **push notification** message in Composer.
2. Navigate to the **Content** step.
3. Locate the **Action Buttons** section.
4. For each button, configure:
   * **Action type:** Open App, Redirect to Web URL, or Deep Link into Application
   * **Button text** (Android): Enter your custom label
   * **Category** (iOS): Select from the available notification categories
5. Save your message and use the preview to verify the button configuration.

***

## Action Types

| Action Type             | What It Does                           | Example                                     |
| :---------------------- | :------------------------------------- | :------------------------------------------ |
| **Open App**            | Launches the app to the default screen | "Open" button on a promotional notification |
| **Redirect to Web URL** | Opens a web page in the device browser | "Learn More" linking to a landing page      |
| **Deep Link**           | Opens a specific screen within the app | "Listen Now" linking directly to a playlist |

Deep links are the most effective option for driving conversions — they take users exactly where they need to go, reducing the steps between notification and action.

***

## Provider Notes

Action button behavior may vary slightly depending on your messaging provider. Here's what to know:

* **Braze:** Supports standard iOS notification categories. Android buttons are fully customizable. Uses category identifiers like `ab_cat_yes_no` and `ab_cat_accept_decline`.
* **Airship:** Similar category-based approach for iOS with identifiers like `ua_yes_no_foreground`. Android is fully customizable.
* **OneSignal:** Supports fully customizable buttons on both iOS and Android.

If you're unsure which options are available for your setup, contact your Aampe representative and we'll help you configure the right approach for your provider.

***

## Best Practices

* **Keep labels short and actionable.** Two to three words work best. Users scan notifications quickly — "Book Now," "View Deal," and "Listen" are clearer than longer phrases.
* **Use deep links whenever possible.** A button that takes a user directly to a product page, booking screen, or content item will outperform one that simply opens the app's home screen.
* **Match buttons to notification intent.** If the notification recommends a specific item, make the button take the user to that item. If the notification asks a question, use Yes/No or Accept/Decline categories.
* **Consider buttons for lightweight engagement.** Patterns like "Interested / Not Interested" or simple preference choices (e.g., "Beach / Mountains") can drive taps even when the user isn't ready to convert, generating useful engagement signals.
* **Test on both platforms.** Because iOS and Android handle buttons differently, always preview and test on both to make sure the experience matches your expectations.

***

## Frequently Asked Questions

<Accordion title="Can I use different button text for different users?">
  Not currently. Action button content cannot be varied using alternates at this time. To test different button configurations, you can create separate messages with different static button setups.
</Accordion>

<Accordion title="Why can't I customize button labels on iOS?">
  iOS requires apps to pre-register notification categories with fixed button labels. The available labels depend on the categories your app has registered and your messaging provider's support. Android does not have this constraint.
</Accordion>

<Accordion title="Can I add action buttons to email or SMS messages?">
  No. Action buttons are a push notification feature only. For email messages, use the CTA buttons available in your email template builder.
</Accordion>

<Accordion title="How many buttons can I add?">
  Up to 3 buttons on Android. On iOS, the number of buttons is determined by the selected notification category (typically 1–2).
</Accordion>

<Accordion title="Do action buttons affect notification delivery or open rates?">
  Action buttons do not affect delivery. They may improve engagement metrics (click-through rate) by giving users a direct path to take action from the notification itself.
</Accordion>

***

## Troubleshooting

<Accordion title="Buttons aren't appearing on my iOS test device">
  Make sure your app has registered the relevant notification categories in its SDK and that you've selected a category in Composer. iOS will not display buttons without a valid registered category.
</Accordion>

<Accordion title="Buttons appear on Android but not iOS">
  This usually means no iOS category was selected in Composer. Android renders custom buttons automatically, but iOS requires an explicit category selection.
</Accordion>

<Accordion title="Deep link isn't working">
  Verify that the deep link URL is correctly formatted and that your app's SDK is configured to handle the link scheme. Test the deep link in your app directly to confirm it resolves correctly before configuring it in Aampe.
</Accordion>
