Skip to main content

Overview

The Button Component adds functional capabilities to the Base Button, allowing it to perform specific actions such as opening a URL, sending an email or SMS, or navigating to a dynamic page.
It supports conditional redirects, enabling personalized behavior based on user attributes like device type, OS, country, or language.

Properties

PropertyTypeRequiredDescription
linkstring✅ YesTarget destination for the button action (URL, email, phone, etc.). Minimum: 5, Maximum: 2000 characters.
typestringNoDefines the type of button action. Supported values: url, email, phone, sms, page.
conditionsobjectNoReference to Conditional URLs Component. Allows device-, region-, or OS-based link variations.

🧩 Inherited from Base Button

All visual and behavioral properties from the Base Button Component are included, such as:
PropertyDescription
labelButton text (required).
colorDefines button, label, and border colors.
buttonStyleReference to style/button.json for custom button styling.
textStyleReference to style/text.json for text formatting.
trackingReference to Event Tracking Component. Used for click analytics.

Used in Categories

This component is used in the following QR Code categories:

Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {},
  "title": "Button component schema",
  "description": "Schema to validate button component",
  "allOf": [
    {
      "$ref": "_base_button.json"
    },
    {
      "properties": {
        "link": {
          "type": "string",
          "minLength": 5,
          "maxLength": 2000
        },
        "type": {
          "type": "string",
          "enum": [
            "url",
            "email",
            "phone",
            "sms",
            "page"
          ]
        },
        "conditions": {
          "$ref": "conditional_urls.json"
        }
      },
      "required": [
        "link"
      ]
    }
  ]
}

Notes

  • The link field is always required and must be a valid URL or actionable endpoint.
  • Use conditions to personalize user experiences (e.g., redirect iOS users to App Store, Android users to Play Store).
  • Extends Base Button Schema for design and tracking consistency.
  • Supports integration with Event Tracking for click analytics.