# App Builder Overview & Navigation Source: https://help.coachiq.io/athlete-portal/app-builder-navigation-and-interface Master the App Builder interface to create and manage your athlete portal. Learn how to navigate sections, configure pages, and publish changes. **Where to find this**: Dashboard → App (in the main navigation) ## What you'll accomplish The App Builder is where you bring your athlete portal to life—no code required. In this guide, you’ll learn how to navigate its layout, customize sections, and publish updates so your athletes always see your latest content and schedules.earn how to navigate and use the App Builder interface to create a professional, customized experience for your athletes across web and mobile platforms. ## Understanding the App Builder layout The App Builder uses a three-panel interface that gives you complete control over your athlete portal: App Builder control panel and interface layout ### Interface components **Navigation hub** - Switch between pages and settings: * Channels (communication) * Schedule (bookings) * Content (programs) * Products (purchases) * Settings (design & configuration) **Configuration space** - Where you manage sections and items: * Add/remove sections * Configure schedulers * Organize content * Set descriptions **Publishing controls** - Make changes live: * Active toggle (on/off) * Copy page button * Preview option * Update Page button * Page Settings access **Hierarchical structure** - Organize your content: * Sections contain categories * Categories contain items * Items link to actual content * Everything is customizable ## Navigating between pages The App Builder organizes your athlete portal into distinct pages, each serving a specific purpose: Use the left sidebar to navigate between the four core pages: App Builder navigation sidebar with pages highlighted * **Channels**: Messaging and announcements * **Schedule**: Session bookings and calendar * **Content**: Programs and educational materials * **Products**: Memberships and purchases Click the **Settings** section in the sidebar to configure: * **Design**: Themes and colors * **Menu & Links**: Navigation visibility * **Pages Paywall**: Access restrictions App Builder settings navigation ## Working with sections and items Each page in your athlete portal is built using a section-based architecture: ### Adding new sections Click on Schedule, Content, or Products in the left sidebar. Find the **Add Section** button in the content area to create a new category. Add Section and Add Scheduler buttons in the Schedule page * Give it a descriptive name (e.g., "Rising Stars", "Elite Program") * Add a description for clarity * Set credit requirements if applicable ### Adding items to sections Within each section, you can add specific items: * **Schedule page**: Add schedulers (booking sessions) * **Content page**: Add programs (courses/training) * **Products page**: Add products (memberships/packages) **Organization tip**: Name your sections based on how athletes will understand them - by location ("Downtown Gym"), by level ("Beginner Classes"), or by type ("Private Training"). ## Understanding the preview system The App Builder shows you exactly what athletes will see: Athlete view showing sections and schedulers as they appear in the app The athlete view (shown above) displays your sections as cards with: * Section name and description * Credit requirements * "Book Now" or "Learn More" buttons * Professional, branded appearance ## Page controls and settings ### Activating pages Each page must be activated before athletes can see it: Use the **Active** toggle in the top bar to enable/disable the entire page. Active toggle switch in the App Builder Even with a page active, you control its visibility through Settings → Menu & Links. ### Page-specific settings Click the settings icons in the top bar to access: Page settings buttons including Copy, Preview, and Settings * **Copy Page**: Duplicate the entire page configuration * **Preview**: See how the page looks to athletes * **Page Settings**: Advanced configuration options ## Publishing your changes **Important**: Changes are NOT live until you click "Update Page". Athletes continue seeing the previous version until you publish. Add sections, configure items, adjust settings as needed. Use the preview function to see how it will look to athletes. The yellow **Update Page** button publishes all changes immediately. Update Page button highlighted in the App Builder The button will briefly show "Updating..." then return to normal when complete. **Success!** Your changes are now live for all athletes across web and mobile apps. ## Common interface patterns ### The toggle hierarchy The App Builder uses three levels of toggles: 1. **Page level**: Active toggle (entire page on/off) 2. **Menu level**: Settings → Menu & Links (navigation visibility) 3. **Section level**: Individual section toggles (show/hide sections) ### Visual indicators * **Gray text**: Descriptions and helper text * **Credit badges**: Show credit requirements clearly * **Trash icons**: Remove sections or items * **Drag handles**: Reorder sections (where available) ## Pro tips for navigation **Organization tip**: Start with one page at a time. Complete and test each page fully before moving to the next. **Testing tip**: Always preview your changes before publishing, especially when managing multiple sections. ## Common questions You need to click "Update Page" to publish changes. Also verify: * The page Active toggle is ON * The page is enabled in Menu & Links settings * Athletes have refreshed their app There's no undo function, but you can: * Manually revert changes * Use the Copy Page feature to backup configurations * Contact support for assistance with major issues Check three things: 1. Page Active toggle (must be ON) 2. Menu & Links visibility settings 3. Individual section settings and paywall configuration * **Sections**: Categories that group similar items (like "Elite Training") * **Schedulers**: Actual bookable sessions within sections (like "Tuesday 6pm Elite Class") ## Next steps Now that you understand the App Builder interface: Set up messaging and announcements Upload programs and educational materials Configure bookable sessions Brand your athlete experience # Channels - Communication Hub for Athletes Source: https://help.coachiq.io/athlete-portal/channels Master athlete communication with Channels. Learn how to send announcements, manage direct messages, and understand what athletes see in their portal. **Where to find this**: Dashboard → Inbox (for sending messages) | Athletes access through their portal's Channels section CoachIQ Athlete Portal main interface ## What you'll accomplish Learn how to use Channels to communicate effectively with your athletes through announcements and direct messages, while understanding exactly what athletes see and experience on their end. ## Understanding Channels Channels is the dedicated communication hub that connects you with your athletes. It's automatically active for all CoachIQ users and provides a seamless two-way communication system. **Key components:** * **Announcements**: Broadcast messages to all or selected athletes (one-way) * **Direct Messages**: Private two-way conversations with individual athletes * **Rich Media Support**: Athletes can send photos and videos * **Instant Notifications**: Automatic push notifications to athlete devices Channels is always active by default - no setup required! Athletes access it through their portal while you manage all messages through your Inbox. ## The athlete's view of Channels Understanding what athletes see helps you communicate more effectively. Here's their experience: Athlete view of Channels showing Direct Messages section with media sharing capability Athletes see: * **Announcements tab**: All broadcast messages from coaches * **Direct Messages tab**: Private conversations with their coach * **Media sharing buttons**: Camera and attachment options for sending photos/videos * **Clean message threads**: Organized conversation history ## Managing announcements (broadcast messages) ### How announcements work Announcements are one-way broadcast messages perfect for team updates, schedule changes, and important notifications. Athletes can react with emojis but cannot reply with text. Announcement showing emoji reactions from multiple athletes **Key features:** * Athletes see sender name and timestamp * Message remains visible until you delete it * Emoji reactions show engagement (❤️, 😊, 👍, 🔥) * No text replies means no inbox clutter ### Sending announcements from your Inbox All announcements are created and managed through your main Inbox: New message interface showing In-App, SMS, and Announcement options with attachment capabilities Navigate to **Inbox** from your dashboard's main navigation. Click **Create New** to open the message composer. Choose **Announcement** from the message type options (In-App, SMS, Announcement). Select **Everyone** or use tags to target specific groups of athletes. Write your announcement and optionally attach: * **Forms**: Waivers, surveys, registration forms * **Media**: Images, videos, documents * **Products**: Membership links, packages * **Schedulers**: Booking links for sessions Click **Send** - athletes receive push notifications instantly on their devices. ### What athletes see in announcements Detailed view of announcement showing timestamp, sender (@everyone), and full message with emoji reactions The announcement displays: * **Timestamp**: When the message was sent * **Sender indicator**: Shows "To: @everyone" or specific group * **Full message content**: Including any links or attachments * **Reaction bar**: Quick emoji reactions at the bottom ## Direct Messages - Two-way conversations ### How Direct Messages work Direct Messages enable private, real-time conversations between you and individual athletes. This is where personalized coaching and feedback happens. ### Managing conversations in your Inbox All athlete messages appear in your main Inbox for centralized management: Coach Inbox interface showing athlete messages, timestamps, and reply functionality **What you see in your Inbox:** * Athlete name (e.g., "Leeann Collins") * Message preview and full conversation thread * Timestamps for each message * Quick reply box at the bottom * Archived conversations section Messages from athletes appear instantly in your Inbox. Athletes receive push notifications when you reply, creating real-time conversation flow. ### What athletes can do in Direct Messages Athletes have robust messaging capabilities: * **Start conversations**: Click message button to contact you * **Send text messages**: Type and send instantly * **Share media**: Upload photos and videos directly * **View history**: See complete conversation thread * **Receive notifications**: Get alerts for your replies Athletes can send training videos or progress photos through Direct Messages, making it perfect for technique feedback and progress tracking. ## Understanding message privacy **Important**: When you send a message to multiple athletes, each receives it as an individual, private message. Athletes cannot see other recipients or their replies. ### How mass messages work: 1. You select multiple recipients (tags or individuals) 2. System creates individual message threads 3. Each athlete sees only their personal copy 4. Replies come back as separate conversations 5. Complete privacy maintained between athletes This design ensures: * **Student privacy**: No athlete sees another's information * **Personalized feel**: Each message appears individual * **Clean organization**: Separate threads for each conversation * **Easy management**: Track individual responses ## Push notifications **Automatic activation**: Push notifications work instantly with no setup required. Athletes receive alerts for all messages and announcements. ### Notification behavior: * **Instant delivery**: Messages trigger immediate push notifications * **iOS & Android**: Full support on mobile apps * **Web notifications**: Available if athlete enables browser notifications * **Smart alerts**: Different sounds/badges for announcements vs direct messages * **Offline delivery**: Notifications queue when athletes are offline ## Attachment capabilities ### What you can attach to messages: Attachment options showing Forms, Media, Products, and Schedulers **Available attachments:** * **Forms**: Registration, waivers, surveys, feedback forms * **Media**: Training videos, technique photos, documents * **Products**: Membership packages, training programs, merchandise * **Schedulers**: Direct booking links for sessions ### What athletes can send you: * Photos (JPG, PNG) - perfect for form checks * Videos (MP4, MOV) - ideal for technique review * Text messages with questions or updates ## Best practices for effective communication ### Announcement strategies: * **Timing matters**: Send during peak app usage (7-9 AM or 6-8 PM) * **Keep it scannable**: Use bullet points and short paragraphs * **Clear subject**: Start with the main point (e.g., "CANCELLED: Tonight's Session") * **Use reactions strategically**: "React with 👍 if you're coming" * **Include actionable attachments**: Add booking links or forms when relevant ### Direct Message tips: * **Response time**: Reply within 24 hours to maintain trust * **Professional tone**: Keep conversations appropriate and documented * **Encourage media**: Ask for form videos or progress photos * **Personal touch**: Use athlete names and reference their goals * **Set boundaries**: Establish response hours in your bio ## Common questions Channels is always active by default for all CoachIQ users. There's no toggle needed - it's automatically available to all athletes through their portal and to coaches through the Inbox. No, and this is intentional. Athletes can only message coaches to ensure: * Proper supervision and safety * Privacy protection between athletes * Prevention of bullying or inappropriate contact * Maintained professional boundaries While there are no read receipts, you can gauge engagement through: * Emoji reactions on announcements * Reply messages in direct conversations * Athletes mentioning they saw your message * **In-App**: Sends only to the athlete's portal (free, unlimited) * **SMS**: Sends text message to athlete's phone (uses SMS credits) * **Both**: You can select both for important messages Currently, messages send immediately. For scheduled communications, consider using Automations to trigger messages based on events or dates. All messages are permanently stored in both your Inbox and the athlete's Channels for complete communication history and accountability. You cannot disable messaging for individual athletes, but you can: * Document the messages (they're saved automatically) * Address directly with the athlete and/or parent * Remove the athlete from your program if necessary * Report serious issues to appropriate authorities ## Pro tips **Create message templates**: Save common announcements as drafts in your notes, then copy/paste and customize as needed. **Use emoji reactions for quick polls**: "React with 🏀 for basketball, ⚽ for soccer" to gauge interest without creating forms. **Media feedback workflow**: Ask athletes to send technique videos via Direct Message on Mondays, then provide feedback by Wednesday. **Tag strategy**: Create tags like "Competition Team" or "Beginners" to send targeted announcements efficiently. ## Troubleshooting ### Messages not delivering: 1. Verify athlete has app installed (for push notifications) 2. Ensure you have their correct contact information 3. Test with a different message type (In-App vs SMS) ### Inbox is cluttered: 1. Archive old conversations regularly 2. Use tags to filter active athletes 3. Set up automations for common responses 4. Use announcements instead of individual messages when appropriate # Add and Organize Programs in Your Athlete Portal Source: https://help.coachiq.io/athlete-portal/content Learn how to display training programs, certifications, and resources in your Athlete Portal. Configure sections, access levels, and organization for optimal athlete engagement. **Where to find this**: Dashboard → App Builder → Content ## What you'll accomplish Set up and organize your training programs, certifications, and resources so athletes can easily access content from their mobile app or web portal. You'll learn how to create sections, control access levels, and optimize the layout for maximum engagement. ## Before you begin **Required**: At least one program must exist in Content → Programs before you can display it in the Athlete Portal. CoachIQ programs library showing all available programs in grid view ## Understanding the Programs page The Programs page displays training content, certifications, and educational resources that athletes access at their own pace. Athlete view of the Programs page with training content and progress ### Programs vs Sessions distinction | Feature | Programs | Sessions | | ------- | ------------------------ | ---------------------- | | Type | Self-paced content | Scheduled bookings | | Shows | Progress percentage | Available time slots | | Payment | One-time or subscription | Per session or credits | | Access | Immediate after purchase | At scheduled time | **Use Programs for:** * Self-paced training content * Video tutorials and lessons * Certification courses * Educational resources **Use Sessions for:** * Scheduled training times * Live coaching sessions * Bookable appointments * Group classes ### Athlete view components * Program thumbnails with visual previews * Lesson and media counts (format: "X lessons • Y media") * Completion progress for started programs * Section-based organization ## Accessing program settings From your dashboard, select **App** in the left sidebar. CoachIQ App Builder sidebar with App selected in left navigation Click on the **Content** tab in the main navigation. CoachIQ App Builder Content tab showing page sections Select **Programs** from the content options to access your program configuration page. CoachIQ App Builder program selection modal for adding content ## Activating the Programs page Control athlete visibility of the Programs section through the Active toggle. Find the **Active** toggle in the top right corner of the Programs page. CoachIQ App Builder page actions menu with Active toggle * **ON**: Programs visible to all athletes in their portal * **OFF**: Programs completely hidden from athlete view Deactivating hides all programs immediately, including those athletes are currently completing. Verify this is your intended action before proceeding. Click **Update Page** to save your changes. ## Adding individual programs In any section, click the **+ Add Content** button. The selection modal displays: * Thumbnail image * Program title * Lesson and media count Select programs to add to this section. You can select multiple programs at once. Click **Save** to add selected programs. Programs appear immediately with thumbnails and details visible. ## Creating and managing sections Sections organize programs into logical categories for easier navigation. ### Adding a new section CoachIQ App Builder Add Section button for organizing programs Click **+ Add Section** at the bottom of your program list. Enter a descriptive name. Examples: * "Education" * "Triple Threat" * "Follow Along Workouts" * "Beginner Fundamentals" * "Elite Training" Use **+ Add Content** within the new section to add programs. ### Setting up a Welcome Section The Welcome Section prominently displays one featured program at the top of your Programs page. Find the **Welcome Section** field at the top of Programs configuration. CoachIQ App Builder Welcome Section dropdown selector Choose which section becomes the welcome section. The first program in this section receives featured treatment. **Effective Welcome Section uses:** * Getting-started program for new athletes * Signature certification course * Limited-time training series * Most popular program ## Organizing your Programs page ### Reordering sections 1. Hover over the section to move 2. Click and hold the drag handle (⋮⋮) 3. Drag to new position 4. Release to place Position your foundational content at the top for immediate visibility. ### Deleting sections 1. Click the trash icon (🗑️) next to section name 2. Confirm deletion Section deletion removes display only. Programs remain in your content library for reuse. ## Program access and sharing settings Click **Share** on any program. CoachIQ Program Builder Share button for access settings **Free Access** * Open to all athletes * No payment required * Great for introductory content * Builds trust and engagement **Paywalled Access** * Requires purchase or membership * Generates revenue * Premium content protection * Supports subscriptions **Private Access** * Manual assignment only * Exclusive content * Personalized programs * Beta testing new content For Private programs, toggle ON to restrict visibility to assigned athletes only. CoachIQ program paywall and private access toggle settings **Use cases for private programs:** * Elite athlete exclusive content * Beta testing new programs * Personalized training plans * Team-specific content Click **Save** to apply access configuration. ## Page settings Use the Settings panel to rename the Programs tab and update the page URL. Click the **gear icon** in the top right of the Programs page to open the Settings panel. CoachIQ App Builder page settings modal with URL slug and SEO options The first field at the top of the Settings panel is the **Page Name** — the display name athletes see as the tab in their portal. Update it to match your branding (e.g., "Training", "Content", "Resources"). The **Slug** field controls the URL path for this page (e.g., `/programs`, `/training`). Add a **Description** for SEO context. Click **Update Page** to apply settings. ## Previewing the athlete experience Select **Preview Page** from the action menu. CoachIQ App Builder page actions menu with Preview Page option Verification checklist: * Section order correctness * Thumbnail display quality * Title and description clarity * Welcome section prominence Preview on: * Desktop/laptop * Tablet * Mobile phone ## Publishing your changes Verify sections, programs, and access levels. Click **Update Page** to publish. Changes apply immediately. Currently logged-in athletes see updates upon refresh or navigation. ## Common questions Programs are created in **Content → Programs** in your main admin dashboard. The App Builder only controls display configuration. Diagnostic steps: 1. **Programs page Active toggle** → Must be ON 2. **Program access setting** → Check if Private or Paywalled 3. **Athlete status** → Verify purchase or assignment 4. **Platform** → iOS/Android have purchase restrictions No search/filter capability currently exists. Structure your sections thoughtfully for easy navigation. Progress percentage = (completed items ÷ total items) × 100 Each lesson or media file completed counts toward the total. Yes. Private program setting enables athlete-specific assignment for personalized content delivery. Sections remain expanded for immediate content visibility on all devices. ## Troubleshooting ### Programs not appearing in selection modal * **Verify**: Programs exist in Content → Programs * **Confirm**: Programs are published (not draft) * **Action**: Refresh App Builder page ### Athletes report missing programs 1. **Check**: Programs page Active toggle → Must be ON 2. **Check**: Program access type → Not Private without assignment 3. **Check**: Payment status → Purchase complete for paywalled 4. **Check**: Platform restrictions → iOS/Android restrict in-app purchases ### Thumbnails not displaying correctly * Thumbnails configured in Program Builder only * Cannot override in App Builder * Verify proper aspect ratio in source ### Section organization issues * Confirm drag handle engagement * Test in different browser if needed * Always Update Page after reorganizing ## Pro tips **Organization hierarchy**: Structure sections by progression: 1. Fundamentals 2. Skill Development 3. Advanced Training 4. Certifications **Welcome Section optimization**: Feature an orientation program explaining your training system and setting expectations. **Naming clarity**: * Include skill level: "Beginner: Ball Handling" * Add duration: "30-Day Program" * Specify outcome: "Master the Triple Threat" **Access tier strategy**: * **Elite**: Advanced tactical content (Private) * **Youth**: Age-appropriate basics (Free/Paywalled) * **Teams**: Competition prep (Private) **Monthly maintenance**: * Archive outdated content * Adjust sections based on usage data * Review completion rates * Validate free/paid balance ## Related articles * [Programs Overview](/content/programs-overview) * [Sharing Programs](/content/sharing-programs) * [Setting Up Paywalls](/athlete-portal/paywall-settings) * [Client Profiles](/people/client-profiles/client-profiles) * [Understanding the Athlete Portal](/athlete-portal/understanding-your-athlete-portal) # Customize Your Athlete Portal Design Source: https://help.coachiq.io/athlete-portal/design-settings Learn how to customize your Athlete Portal's appearance with themes, brand colors, and button styling for a professional look. **Where to find this**: Dashboard → App Builder → Settings → Design CoachIQ Athlete Portal design settings with theme and color options ## What you'll accomplish Customize your Athlete Portal's visual appearance to match your brand. You'll configure the theme (dark or light mode), set your primary brand color, and customize button text colors. ## Accessing design settings From your dashboard, select **App** in the left sidebar. Click on **Settings** in the navigation menu. Choose **Design** to access your portal's visual customization options. ## Configuring your design ### Theme selection In the Theme dropdown, select either: * **Light mode** - Clean, bright interface ideal for daytime use * **Dark mode** - Reduced eye strain, modern appearance Design Settings Portal Your selection updates the preview immediately. Athletes will see this theme when they access your portal. ### Brand colors CoachIQ Athlete Portal color picker for selecting brand colors Click the **Primary Color** selector and choose your main brand color. This affects: * Navigation highlights * Active buttons * Links and accents * Selected items Use your hex code (e.g., #ff0000) for exact brand matching. Choose the **Primary Button Text Color** to ensure readable text on your buttons. * Use white (#ffffff) for dark primary colors * Use black (#000000) for light primary colors ## Saving your design Check that your theme and colors work well together. Click **Update Design** to save and apply your changes. Changes apply immediately. Athletes see the new design on their next login or refresh. ## Design best practices **Color contrast**: Ensure your primary color and button text color have sufficient contrast for readability. Test with both themes if you allow athletes to switch. **Brand consistency**: Use the exact hex codes from your brand guidelines to maintain professional consistency across all touchpoints. **Theme selection**: Consider your primary user base - dark mode works well for early morning/evening training apps, while light mode is ideal for daytime facilities. ## Common questions No, the theme you select applies to all athletes. This ensures brand consistency across your portal. You can: * Ask your designer for brand hex codes * Use online color pickers * Extract colors from your logo using free tools * Common format: #ff0000 (red) or #000000 (black) No, these settings only apply to your Athlete Portal (App Builder). Website design is configured separately in Website Builder. The primary color applies globally throughout the portal. Individual section customization is not currently available. ## Related articles * [Understanding the Athlete Portal](/athlete-portal/understanding-your-athlete-portal) * [Website Overview](/website/overview) * [Paywall Settings](/athlete-portal/paywall-settings) # Family accounts in the Athlete Portal Source: https://help.coachiq.io/athlete-portal/family-accounts How parents add and manage their athletes, who receives reminders for a managed child, how a parent sees every athlete's bookings, and how registration asks which athlete is being signed up **Where to find this**: Athlete Portal → **Settings** → **Family** In youth programs the parent is the person who acts: they pay, they drive to the field, they read the message. CoachIQ models that as a **parent (guardian) account** with one or more **athletes** connected to it. Parents manage the family from the athlete portal; you can also connect children from the client's **Family** section in admin. ## How a family is structured * **Parent** holds the login, the payment method, and the inbox. Their role in **People** is **Parent**. * **Athlete** is the person who attends sessions. An athlete connected to a parent can be a full account with its own login, or a **managed child** with no login at all. * The parent-to-athlete link is stored on both profiles. Reminders, booking views, and automations follow that link (details below). The **Family** tab only appears on profiles with the **Parent** role. If a parent tells you they cannot find it, check their role in **User Details** and change it to **Parent** if needed. See [Sign-up & Profile](/people/sign-up-and-profile#account-type) to make new sign-ups land on the right role from the start. ## What parents can do From the athlete portal, the parent selects **Settings**. They select **Family**, where they'll see the athlete they're currently managing. Selecting **Add Athlete** lets them add another child to the account. They can also select an existing athlete listed there to switch to managing them. Parents can do this any time, not only at sign-up. A parent who registered with one child and later wants to add a sibling does not need you to do it for them. ## What you can do as a coach **Where to find this**: **People** → open the client → **PROFILE** → **Family** On **Family** you can **Connect children** — choose an active athlete account, or create a managed child. The **+** control is **Create new child**. That opens **New child**: * Helper: "The child is added without a login. You can enable login later." * **First name** (required) (placeholder First) and **Last name** (placeholder Last) * **Cancel** and **Create child** A connected child can show **Managed — no login** with **Enable login**. Client Family section with Connect children New child form: First name, Last name, Cancel, Create child ### Managed children with no login A managed child has a profile, bookings, credits, and tags like any athlete, but no email and no password. That is the right shape for most youth athletes: the parent does everything on their behalf, and nothing is ever sent to an inbox the child does not have. * Anything addressed to a managed child (reminders, announcements, in-app messages) is delivered to their parent. See [Who receives reminders and notifications](#who-receives-reminders-and-notifications). * When the athlete is old enough to run their own account, click **Enable login** on the child's row. They keep their history. * Automations can target a managed child's parent explicitly with the **trigger user and their guardians** option on **Target User**. See [Triggers and actions](/tools/automations/triggers-actions-reference). ## Who receives reminders and notifications Practice reminders and notifications for an athlete go to that athlete **and** to their connected parent. For a managed child with no login, the parent is the only reachable destination, so the parent is who gets the reminder. This is what makes a booking reminder land with the person who is actually driving to the field. A parent with two athletes is connected to both, so they receive both athletes' reminders from one account. You do not need to tag or message the parent separately. If a family reports that they "never got the reminder", open the athlete in **People** and check **PROFILE** → **Family**. An athlete with no connected parent and no email has nowhere for a reminder to go. Connect the parent and the next reminder will reach them. ## Booking for a specific family member Once family members are added, booking a session includes a **Select Athlete** step. The parent picks which athlete the session is for — themselves or any linked family member — before checkout. Select Athlete step in the booking flow, showing Family Credits available and a list of athletes to book for That step also shows **Family Credits available**. Eligible credits from the booking parent's Buyer pack can cover a connected managed athlete's session. The scheduler determines how many credits are used. A purchase assigned to the athlete supplies that athlete's credits; a parent's own pack is not a shared balance for another parent. The booking record itself shows which athlete it's for, so you no longer have to rely on notes, tags, or asking at check-in to tell family bookings apart — see [Booking for Multiple Athletes](/scheduling/booking-for-multiple-athletes). ## How a parent sees their athletes' bookings A parent's own **Bookings** view in the athlete portal, and in the native iOS and Android apps, lists every connected athlete's sessions **grouped by athlete**. The parent never has to switch into each child to check who has practice tonight. Session location shows on each booking in the app, so a per-date venue change is visible where the parent looks. You see the same thing from the coach side: opening the parent in **People** → **Bookings** shows all bookings under that parent, sorted by which athlete they belong to. Opening the athlete shows only that athlete's bookings. See [Bookings tab](/people/client-profiles/client-profiles-bookings#parent-profiles-bookings-grouped-by-athlete). ## Registering an athlete at checkout Buying a team registration, camp, or membership for a child is a purchase, not a booking, so it goes through checkout rather than the **Select Athlete** step above. When the purchasing parent has more than one athlete on the account, checkout asks **Who are you registering?** before payment. What attaches to the athlete they pick: * The purchase itself, so you can see which child a registration paid for * Any team tag the product's automation applies * Any credits the product grants * Date of birth, which is collected per athlete rather than once per family A parent registering two children for two different teams goes through checkout once per child, choosing the right athlete each time, and each child ends up on the right roster with the right credits. Purchase-triggered automations (add a tag, book all future practices) act on the selected athlete, not the parent. Whether a product is bought for the buyer themselves or for a managed athlete is a setting on the product. See [Product Builder](/payments/product-builder) for the buyer vs. managed athlete option and how it changes checkout for adults buying for themselves. ## Check which athlete a purchase is for Before paying, parents can confirm the selected athlete's name on the final **Review & payment** screen for a product, or the **Payment** screen when booking a session with credits or a card. If they change children during checkout, the review updates to the newly selected athlete. Review any required registration answers again after switching. After purchase, **Orders** and **Billing Archive** show a **For:** line naming the athlete when the purchase recorded one. Older purchases that did not record an athlete may not show this line; its absence alone does not tell you who received the purchase. Check the relevant athlete's profile before asking a parent to buy again. ## When two parents share an athlete More than one parent can connect to the same athlete. There is no designated primary parent. Each sees the athlete's schedule, including bookings made by the other parent. * **Booking changes:** Either parent can book. For a one-time booking, the parent who made it must cancel or reschedule it. Recurring-booking cancellation currently also allows another connected parent. * **Credits:** Purchases assigned to the athlete can supply credits when either parent books for that athlete. A parent's own credit pack is not spendable by the other parent. Refunds return to the original payment source. * **Notifications:** Booking confirmations and cancellation notices go to the parent who made the booking; session reminders go to connected parents. For automations, choose the athlete-and-parents audience when both should receive the action. Purchase receipts go to the parent who paid. * **Account changes:** Either connected parent can edit the athlete's details or remove another parent's connection. There is no separate approval step for those changes. Staff see each parent as a separate contact on the athlete's Family tab. ## Common questions No. A managed child has no login and no email. Everything meant for them is delivered to the connected parent. Add an email and click **Enable login** only when the athlete should run their own account. Connect each parent to the athlete from that parent's **Family** section in admin. Both then see the athlete's bookings and receive their reminders. If you run into a case that does not behave this way, contact support with the family's names. Check which athlete the purchase is attached to: open the parent in **People** → **Products**. If the purchase landed on the parent rather than the child (this happened before the **Who are you registering?** step existed), book the child into the team's practice sessions manually and move the tag to the child. Registrations made after August 2026 attach to the selected athlete automatically. Yes. The iOS and Android apps show a parent every connected athlete's bookings, grouped by athlete, with the session location. See [Booking in the native app](/athlete-portal/native-app-booking). ## Related articles How shared credits and family booking work today Family is under PROFILE on the client A parent's bookings grouped by athlete Force new sign-ups to the Parent/Guardian account type Target an athlete and their guardians from an automation Pay-or-credit prompt, purchases in the browser, session location # Use Hidden Products to Control Paywall Access Source: https://help.coachiq.io/athlete-portal/hidden-products-paywall Learn how to use hidden products on your athlete portal paywall to manage grandfathered pricing, invite-only access, and complimentary memberships. **Quick Answer**: Hidden products unlock paywalled pages just like regular products, but athletes never see them on the paywall purchase screen. Use them for grandfathered pricing, invite-only access, or complimentary memberships. Configure at App Builder → Settings → Pages Paywall → Hidden Products. Hidden Products section in the Pages Paywall Settings ## What are hidden products? Hidden products are paywall products that grant athletes access to paywalled pages without appearing on the paywall purchase screen. When an athlete lands on a paywalled page, they see your visible products as purchase options — but hidden products are never shown. Athletes who already have a hidden product still get full access, they just can't discover or buy it from the paywall. This gives you precise control over who can access your app and at what price, without exposing every option to every athlete. ## When to use hidden products ### Grandfathered pricing You raised your monthly membership from \$49 to \$69, but your existing athletes are locked in at the old rate. Without hidden products, that \$49 option sits on your paywall and every new athlete picks the cheaper one. **With hidden products**: Hide the \$49 product from the paywall. Current athletes keep their rate and retain full access. New athletes only see the \$69 option. This is especially useful when you adjust pricing over time. Every time you change rates, hide the old product and add the new one as a visible option. Existing subscribers are unaffected. ### Invite-only or exclusive access You want to give a select group of athletes access to your app — a travel team, a tryout group, or a VIP tier — without the product being available to everyone. **With hidden products**: Create a product for that group, hide it from the paywall, and assign it only to the athletes you choose. Other athletes never know it exists. ### Complimentary or sponsored access You need to give free or discounted access to staff, coaching assistants, scholarship athletes, or sponsored partners. A visible \$0 product on your paywall invites everyone to grab it. **With hidden products**: Create a free or discounted product, hide it from the paywall, and assign it directly to the athletes who qualify. Your public pricing stays clean. ## How to add a hidden product From your App Builder, click **Settings** in the left sidebar, then select **Pages Paywall**. In the left panel, click **Hidden Products** to switch to the hidden products configuration. Click **+ Add Hidden Product**. Select the product you want to hide from your product list. The product must already exist in Payments → Products. If you haven't created it yet, do that first. Click **Update Paywall** to apply. The hidden product now grants paywall access without appearing on the athlete-facing purchase screen. Athletes with this product can access paywalled pages immediately. Athletes without it never see the product as an option. ## How athletes receive hidden products Since hidden products don't appear on the paywall, you need to get them to athletes through other channels: * **Assign directly** — Add the product to an athlete's account in People → \[Athlete] → Products * **Send a purchase link** — Share a direct link to the product via DM, email, or SMS * **Use an access code** — Create an access code for the hidden product and share it privately For grandfathered pricing, you typically don't need to do anything. Athletes already subscribed to the old-rate product keep their access automatically when you hide it from the paywall. ## Common questions Yes. There is no difference in how access works. If an athlete has a hidden product that's linked to the paywall, they get full access to the paywalled pages — identical to a visible product. Yes. You can have some products visible on the paywall for new athletes to purchase, and other products hidden for grandfathered or invite-only athletes. Both types grant the same access. The same thing that happens with any paywall product — the athlete loses access and sees the paywall purchase screen. Since the hidden product isn't visible there, they would need to resubscribe through a direct link or have you reassign it. Athletes can see products they've purchased in their account details, but they cannot discover or purchase a hidden product from the paywall screen. 1. Create your new product at the updated price 2. Add the new product as a **visible** paywall product 3. Move the old product to **Hidden Products** 4. Existing subscribers keep their rate and access; new athletes only see the new price ## Related articles * [Set Up Page Paywalls](/athlete-portal/paywall-settings) * [Display Products & Payments in Your Athlete Portal](/athlete-portal/products) * [Creating Products](/payments/product-builder) * [Understanding Your Athlete Portal](/athlete-portal/understanding-your-athlete-portal) # Menu & Links settings Source: https://help.coachiq.io/athlete-portal/menu-and-links Control which pages appear in your athletes' navigation and configure your active portal domains. **Menu & Links** lets you decide which sections athletes can navigate to in their portal — and whether athletes with existing bookings can still view them even if self-scheduling is turned off. **Where to find this:** Athlete Portal Builder → **Settings** → **Menu & Links** ## Main Menu toggles The **Main Menu** section controls which pages appear in the athlete portal navigation. Each row shows the page label, its URL path, and a toggle. Menu & Links Settings panel showing Programs, Products, and Sessions toggles | Page | URL path | Effect when off | | ------------ | --------- | ---------------------------------------- | | **Programs** | /programs | Hides the programs page | | **Products** | /products | Hides the products page | | **Sessions** | /sessions | Removes the scheduling page from the nav | Toggling a page off hides it for all athletes. The page's content isn't deleted — it becomes inaccessible from the nav. Toggle it back on to restore it. Click **Update Settings** to save any changes. ## Renaming portal pages The labels athletes see in their navigation are yours to change, so the portal can say "Training" instead of "Programs" or "Book a Lesson" instead of "Sessions". The rename lives on each page, not in Menu & Links: | Page | Where to rename it | | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | | **Programs** | App Builder → **Content** → gear icon → **Page Name**. See [Programs page settings](/athlete-portal/content#page-settings) | | **Products** | App Builder → **Products** → gear icon → **Page Name**. See [Products page settings](/athlete-portal/products#configuring-page-settings) | | **Sessions** | App Builder → **Schedule** → gear icon → page display name. See [Schedule page settings](/athlete-portal/schedule#page-settings) | Each of those Settings panels also has a **Slug** field for the URL path, so you can move `/sessions` to `/schedule` at the same time if you want the link to match the new name. Click **Update Page** on that page to save; the new label shows in **Menu & Links** and in the athlete navigation immediately. Renaming is per organization. If you run several groups, each group's portal has its own labels. ## Still show Bookings to athletes When **Sessions** is toggled off, a sub-option appears below it: Menu & Links Settings with Still show Bookings to athletes checkbox highlighted > **Still show Bookings to athletes** — Athletes can't self-schedule, but they'll still see their upcoming bookings. When checked, athletes see a **Bookings** section in their portal sidebar where they can view upcoming, past, and canceled sessions — but cannot book new ones. This is the right choice when you manage all scheduling manually but still want athletes to have visibility into their calendar. When unchecked, the Bookings view is hidden entirely. This option only appears when **Sessions** is toggled off. If Sessions is on, the full scheduling page is available and this setting has no effect. ## Active Domains The **Active Domains** section shows the URLs athletes can use to access your portal. These are read-only here — contact CoachIQ support to connect a custom domain. ## Common questions No. Toggling off **Sessions** only removes the scheduling page from the nav. Existing bookings are unaffected. Athletes with booked sessions can still view them if **Still show Bookings to athletes** is checked. Yes. When **Sessions** is off, uncheck **Still show Bookings to athletes** and click **Update Settings**. Athletes will no longer see the Bookings section in their portal. This option only appears when **Sessions** is toggled off. Toggle **Sessions** off first and the option will appear below it. Yes. Open the page in the App Builder (Content, Products, or Schedule), click the gear icon, and change the page name and, if you like, the slug. See [Renaming portal pages](#renaming-portal-pages). ## Related articles Understand how the portal is structured and how athletes experience it Navigate the App Builder interface and publish changes Add schedulers to the athlete portal schedule page Restrict portal pages to paying members # Booking in the native athlete app Source: https://help.coachiq.io/athlete-portal/native-app-booking What athletes and parents see when they book from the iOS or Android app: the pay-or-credit prompt, native or browser checkout, and session location in Bookings **Where this applies**: the CoachIQ athlete app on iOS and Android, and any branded [Personalized App](/power-ups/personalized-app). The web portal is covered in [Understanding your Athlete Portal](/athlete-portal/understanding-your-athlete-portal). The native app is where most athletes and parents live day to day: they check tonight's practice, book next week's lesson, and read your announcements from their phone. Booking works the same way it does on the web, with checkout depending on the installed app version and your enabled payment experience. Eligible purchases can use native checkout where available; other purchases finish in the browser. ## Booking a session The athlete opens your Schedule page in the app and picks a scheduler and a time slot, exactly as they would in the browser. The credit cost you set on the scheduler ("1 Credit") shows on the card. A parent with more than one connected athlete is asked which athlete the booking is for, with the shared **Family Credits available** balance shown. See [Family accounts](/athlete-portal/family-accounts#booking-for-a-specific-family-member). What happens next depends on how the scheduler is set to be paid: * **Credits only**: the app deducts the credit and confirms the booking. Nothing leaves the app. * **Payment only**: complete the checkout offered by the installed app. Supported purchases can use native checkout; other purchases open the browser. * **Payment or credits**: the app asks whether to **pay** or **use a credit**, the same choice athletes get on the web. Choosing a credit finishes in the app; choosing to pay uses the available native or browser checkout. An athlete whose credits are paused (for example, a membership marked inactive) is treated as having no usable credit and is offered payment instead. Fix the membership on the client's **Credits** tab if that is not what you intended. The confirmed session appears in the app's **Bookings** tab with its date, time, and **location**. If you set a different venue on a specific date of the session, the per-date venue is what shows here, so the parent sees the right field for that day. ## Native and browser checkout Payment availability depends on the released app version, eligible purchase, and your enabled settings. An existing personalized app may receive its store update separately from the main CoachIQ app. If checkout opens in a browser, complete payment there and return to the app. Do not restart the purchase just because the checkout opened outside the app. Booking with an eligible credit stays in the app. ## What parents see A parent's **Bookings** tab lists every connected athlete's sessions, grouped by athlete, with the session location on each. The parent does not need to switch into each child to check who has practice tonight. Reminders for a managed child go to the parent's device. Details in [Family accounts](/athlete-portal/family-accounts). ## Staying signed in If a platform update is pushed while someone is using the app, the app signs them back in once the update completes rather than dropping them at the login screen. An athlete who is still logged out should update the app from the App Store or Google Play and sign in once. ## Common questions That is the paid path: the scheduler needs payment (or the athlete has no usable credit), so the app opened the browser to complete checkout. Check two things on the athlete's profile: the **Credits** tab, to confirm they have an active credit that works for this scheduler, and the scheduler's payment settings, to confirm it accepts credits at all. If both look right and the app still redirects, make sure the athlete has the current app version, then contact support. Where the app supports the product and native checkout, they can complete the purchase there. Otherwise, share the web purchase link. After successful payment, the purchase and any eligible credits appear on their account. Because you set a per-date venue on the scheduler. Each date can carry its own location, and the app shows the location for that date. See [Setup: locations](/scheduling/setup-locations). Yes. The request lands in your **Inbox** for you to action; nothing is deleted automatically. See [Understanding your Athlete Portal](/athlete-portal/understanding-your-athlete-portal#common-questions). ## Related articles Web and mobile access for athletes Parents, managed children, and who receives reminders Which credits work for which schedulers Your branded iOS and Android apps ## Check the app and enabled features Do not assume every personalized app has the same store build at the same time. Use the payment flow offered by the installed version. Product visibility remains something you configure; enabling native payments does not automatically enable every Products page. If the app opens a browser, complete that checkout and return to the app. For a multi-length scheduler, the selected length determines the displayed cash price, processing fee, and credit cost. Changing length clears the previously selected time. # Set Up Page Paywalls to Monetize Your Athlete Portal Source: https://help.coachiq.io/athlete-portal/paywall-settings Learn how to restrict athlete access to Programs, Scheduling, and Products pages until payment. Complete paywall setup guide with troubleshooting. **Quick Answer**: Page paywalls restrict athlete access to specific pages (Programs, Scheduling, or Products) in your athlete portal until they purchase a required product. Configure paywalls at App Builder → Settings → Pages Paywall. CoachIQ paywalled athlete app showing purchase prompt for restricted content ## What is a page paywall in CoachIQ? A page paywall is a monetization feature that restricts athlete access to entire sections of your athlete portal until they purchase a qualifying product. When athletes attempt to access a paywalled page without the required product, they see a purchase prompt instead of the content. CoachIQ Athlete Portal paywall page settings configuration **Key capabilities:** * Paywall three core pages: Programs, Scheduling, and Products * Multiple products can unlock the same page * Works with subscriptions, one-time purchases, and access codes * Automatically relocks pages if subscriptions expire or payments fail ## Prerequisites for setting up paywalls **Required before starting:** * At least one product created in [Payments → Products](/payments/product-overview) * Admin or owner permissions in CoachIQ * Active athlete portal (configured in App Builder) * Pages activated in Menu & Links settings CoachIQ Products page in the admin dashboard ## Setting up your first page paywall From your App Builder, click **Settings** in the left sidebar, then select **Pages Paywall**. You can also access this by going to App Builder → Settings → Menu & Links, then selecting Pages Paywall from the sidebar. Choose which pages you want to restrict access to. You can paywall: * **Programs** - Training content, certifications, and courses * **Products** - Your product catalog and purchase options * **Schedulers** - The Schedule page and the schedulers you have added to it CoachIQ page selection checkboxes for choosing which pages to paywall Paywalling **Schedulers** restricts only the schedulers listed on your portal's Schedule page. A scheduler you link from a form, a website button, or a direct link stays bookable without the paywalled product, so intake forms and evaluation links keep working for prospects. To gate one of those schedulers too, attach a product to it directly — see [Attach products to schedulers](/payments/attach-products). Click **+ Add Product** under the page section you want to paywall. This opens a product selection modal. Select one or more products that will grant access to this page. Athletes must purchase at least one of these products to unlock the page. CoachIQ product selection modal for assigning products to a paywalled page You can create multiple product groups (sections) for different membership tiers: For example: * **Memberships section**: Monthly subscriptions * **Virtual Training section**: One-time course purchases Products in the same section represent alternatives (athlete needs ANY one). Products in different sections can represent bundles or tiers. Once configured, ensure: 1. The page is set to **Active** in Menu & Links settings 2. Click **Update Paywall** to save your changes 3. The paywall takes effect immediately for all athletes A paywall needs an active page to sit in front of. If you turn the paywall on but no paywalled page is active, athletes are prompted to pick a page instead of seeing your content. Activate the page in **Menu & Links**, then save the paywall again. ## What athletes see when accessing paywalled pages When an athlete without the required product tries to access a paywalled page, they see: Athlete view of a paywalled page with product pricing and purchase button **The paywall experience includes:** * Clear indication the page is restricted * Product name and price display * Description of what's included * "Purchase Now" or "Learn More" buttons * Professional branded appearance matching your portal The paywall only stands in front of the page itself. An athlete who reaches a scheduler through a form, a button, or a direct link (rather than the Schedule page) can book it without the paywalled product, and a program you shared directly with an athlete stays visible even when the Programs page is paywalled. ## Managing multiple products on paywalls ### Adding products to existing paywalls You can add multiple products that grant access to the same page: 1. Navigate to Pages Paywall settings 2. Find your paywalled page section 3. Click **+ Add Product** 4. Select additional products from your product list 5. Click **Add Selected** **How multiple products work:** * **ANY** product in the list grants full access * Athletes only need to purchase ONE qualifying product * Great for offering different price points or payment options * Perfect for seasonal promotions or grandfathered pricing ### Creating membership tiers Structure your paywalls for different access levels: Basic Membership ($50/month) → Unlocks: Programs only Pro Membership ($100/month) → Unlocks: Programs + Scheduling Elite Membership (\$250/month) → Unlocks: Programs + Scheduling + Products ### Using sections for organization Create logical groupings of products: * **Add Section** to create categories like "Memberships" or "Virtual Training" * Helps athletes understand their options * Makes managing multiple products easier * Each section can have its own description ## Customizing paywall pages ### SEO and URL settings Configure how your paywalled pages appear in search results and browsers: * **Page Title**: Optimize for search engines (e.g., "Premium Basketball Training Programs") * **Meta Description**: Describe the value behind the paywall * **URL Slug**: Customize the page URL (e.g., `/paywall` or `/premium-access`) CoachIQ paywall page SEO settings with title, description, and URL slug Use compelling descriptions that highlight the value athletes get after purchasing, not just that the content is locked. ### Paywall messaging The paywall automatically displays: * Subscription description from your product settings * Price and billing frequency * Clear call-to-action buttons Ensure your product descriptions clearly communicate: * What's included with purchase * Billing terms (monthly, one-time, etc.) * Value proposition for athletes ## Troubleshooting paywall access issues ### Why athletes can't access paywalled pages **Diagnosis checklist:** 1. **No qualifying product purchased** * Check: [People](/people/overview) → \[Athlete Name] → Products tab * Solution: Direct athlete to purchase page on web portal 2. **Subscription expired** * Check: [Payments → Subscriptions](/payments/subscriptions-dashboard) → Filter by athlete * Solution: Update payment method or reactivate subscription 3. **Payment failed** * Check: [Payments → Transactions](/payments/transactions) → Failed payments * Solution: Have athlete update billing information 4. **Product removed from paywall** * Check: Pages Paywall settings for product list * Solution: Re-add product or communicate changes to athletes 5. **Page not active** * Check: Menu & Links settings for page toggle * Solution: Activate the page in settings 6. **Paywall on, but no active page selected** * Symptom: athletes see a prompt to pick a page instead of the paywall or the content * Solution: Activate at least one paywalled page in Menu & Links, then click **Update Paywall** again **iOS App Limitation**: Due to Apple's Reader App policy, athletes cannot purchase products directly through the iOS app. They must use the web portal to purchase access to paywalled content. ### Quick fixes for common issues 1. Verify purchase in People → \[Athlete] → Transactions 2. Check if subscription is active (not past due) 3. Have athlete log out and back in 4. Ensure the correct product is linked to the paywall Failed payments can cause temporary locks. Check: * Payment status in Stripe * Transaction status in CoachIQ * May take up to 5 minutes to sync after successful payment Ensure the access code product is: * Added to the paywall product list * Not expired or at usage limit * Properly redeemed by the athlete To temporarily grant free access: 1. Remove all products from the paywall section 2. Save changes 3. Page becomes accessible to all athletes 4. Re-add products when ready to restore paywall ## Best practices for page paywalls **Maximize conversion with these strategies:** 1. **Clear value proposition** - Make it obvious what athletes get behind the paywall 2. **Multiple price points** - Offer various products to match different budgets 3. **Trial periods** - Use trial subscriptions to let athletes experience value first 4. **Bundle strategically** - Create product combinations that make sense for athlete goals 5. **Communicate changes** - Always notify athletes before adding new paywalls ## Common questions about paywalls No. It blocks the schedulers you added to the portal's Schedule page. Schedulers reached through a form, a website button, or a direct link are not gated by the Pages Paywall. If you want one of those gated as well, attach a product to that scheduler in its own settings. No, paywalls work at the page level only. To restrict individual programs, use the program sharing settings in Content → Programs → \[Program] → Share Settings instead. The page automatically relocks when a subscription payment fails. Athletes see the purchase prompt again until payment is successful. There's typically a grace period of 3-7 days for payment retry. No, paywalled pages are completely restricted. Consider creating a separate "preview" or "demo" section outside the paywall to showcase value. Create a subscription product with a trial period in [Payments → Products](/payments/product-overview). Set the trial length (e.g., 7 days free), then add this product to your paywall. Paywalls control access on web and native apps. The available purchase flow depends on the installed app and eligible purchase. When native checkout is unavailable, use the web portal to purchase, then return to the app. Currently, paywalls apply to all athletes universally. For group-specific access, consider using private program assignments or access codes. You can: 1. Create a \$0 access code product 2. Add it to the paywall 3. Manually provide the code to specific athletes Refunding a product purchase immediately removes paywall access. The athlete will need to repurchase to regain access. ## Monitoring paywall performance Track your paywall effectiveness: **Key metrics to monitor:** * **Conversion rate**: People viewing vs purchasing * **Revenue per page**: Which paywalled pages generate most revenue * **Churn indicators**: Subscription cancellations after paywall access * **Support tickets**: Common access issues to address **Where to find data:** * [Payments → Transactions](/payments/transactions) (purchase tracking) * [Payments → Subscriptions](/payments/subscriptions-dashboard) (active membership monitoring) * [People](/people/overview) → Activity logs (access patterns) ## Related articles Understand how products work and where athletes can find them Create memberships, packages, and one-time products Require payment or credits when athletes book sessions Display and organize products in your athlete-facing portal Track purchases, refunds, and payment history View athlete profiles, products, and activity # Display Products & Payments in Your Athlete Portal Source: https://help.coachiq.io/athlete-portal/products Learn how to add products and payment options to your Athlete Portal. Understand platform restrictions and optimize your sales strategy across web and mobile. **Where to find this**: Dashboard → App Builder → Products CoachIQ Athlete Portal Products page displaying memberships and packages **App availability varies**: Products and checkout depend on your released native app version and enabled features. Configure product visibility intentionally. The web portal remains available for purchases when an app does not offer the required checkout. ## What you'll accomplish Set up your products page to display memberships, packages, and services for purchase through your web portal. You'll learn how to organize products into sections, manage visibility settings, and understand critical platform limitations that affect how athletes access your payment options. CoachIQ web portal product cards with pricing and purchase buttons ## Platform restrictions you must know **iOS and Android apps** Supported app versions can display configured products and offer eligible native checkout. Other app versions or purchases use browser checkout. Check your actual released app; a new native payment capability does not automatically make every product visible. See [Native app booking](/athlete-portal/native-app-booking). **Web Browser - Full Access** Products fully available when athletes access via: * Desktop computers * Mobile web browsers (Safari, Chrome) * Tablet browsers * Any web-based access **All features work**: Purchase buttons, payment processing, subscriptions ## Understanding the Products page The Products page displays your payment options, memberships, and packages that athletes can purchase to access your services. It functions identically to the Programs page in terms of organization, but focuses on payment products rather than content. ### Overview * **Purpose**: Payment collection vs. content delivery * **Access**: Purchase required vs. content access rules * **Platform availability**: Web plus supported native app versions and configuration * **Primary action**: Buy button vs. view content ## Before you begin **Required**: * At least one product must exist in [Payments → Products](/payments/product-overview) * Stripe account must be connected for payment processing **Products are hidden by default**: Creating a product in [Payments → Products](/payments/product-overview) doesn't automatically make it visible to athletes. You must explicitly add products to this page (or attach them to schedulers/forms) for athletes to discover them. This lets you set up products before you're ready to launch. [Learn more about product visibility →](/payments/product-overview#product-visibility-where-athletes-can-find-products) CoachIQ Products page listing available products in the admin dashboard ## Accessing product settings From your dashboard, select **App** in the left sidebar. CoachIQ App Builder sidebar with App selected in left navigation Click on the **Content** tab in the main navigation. CoachIQ App Builder Content tab showing page sections Select **Products** from the content options to access your product configuration page. ## Activating the Products page Find the **Active** toggle in the top right corner of the Products page. CoachIQ Athlete Portal action bar with Update Page and Settings buttons * **ON**: Products visible in web portal only * **OFF**: Products hidden everywhere Check both the page configuration and the installed app version when verifying mobile visibility. Click **Update Page** to save the active status. ## Adding products to sections Within any section, click the **+ Add Products** button. Add Products button in section Choose from your available products: * Memberships (recurring subscriptions) * One-time packages * Session bundles * Credit packages Each product shows: * Product name * Price * Billing frequency (if subscription) * Description preview Click **Save** to add selected products to the section. Products appear immediately with pricing and purchase buttons visible (web portal only). ## Creating and organizing sections Sections help organize your products into logical categories for easier shopping. ### Adding new sections Click **+ Add Section** at the bottom of your product list. Add Section button for products Use clear, descriptive names: * "Memberships" * "Single Group Class" * "Training Packages" * "Elite Programs" * "Beginner Packages" Use **+ Add Products** to populate the new section. ### Section organization best practices * Place most popular products at the top * Group by commitment level (monthly, yearly, one-time) * Separate memberships from individual purchases * Consider price-point organization (budget to premium) ## Configuring page settings Use the Settings panel to rename the Products tab and update the page URL. Click the **gear icon** in the top right of the Products page to open the Settings panel. Settings menu for Products page The first field at the top of the Settings panel is the **Page Name** — the display name athletes see as the tab in their portal. Update it to match your branding (e.g., "Shop", "Memberships", "Purchase"). The **Slug** field controls the URL path for this page (e.g., `/products`, `/memberships`, `/pricing`). Add a **Description** for SEO context explaining your offerings. Click **Update Page** to apply settings. ## Working around platform restrictions Share direct web purchase links when athletes cannot access the required checkout in their installed app. ### Recommended workarounds **Send athletes to web portal** 1. Share your portal link via SMS/email 2. Include link in app announcements 3. Add "Purchase on Website" message in app 4. Use QR codes at facility **Educate your athletes** * Explain during onboarding * Send purchase instructions via Inbox * Create a "How to Buy" program * Include web links in session confirmations **Other purchase methods** * In-person payments at facility * Phone/text orders * Email invoicing * Direct Stripe payment links ## Preview and testing Select **Preview Page** to see the athlete view. Verify display and functionality: * Product cards show correctly * Prices display accurately * Purchase buttons work * Sections organized properly Check the released iOS/Android apps to verify the intended product visibility and checkout. ## Publishing changes Double-check sections, products, and pricing. Click **Update Page** to publish changes. Changes apply to your published portal. Native visibility also depends on the installed app version and enabled purchase experience. ## Common questions Check that the Products page is enabled and published, then check the athlete’s installed app version and supported payment experience. Native payments do not automatically turn on your Products page. If checkout is unavailable in that app, share the product’s web purchase link. Best practices: 1. **Send purchase links** via SMS or email 2. **Add announcements** in the app directing to web portal 3. **Include instructions** in your welcome message 4. **Process payments** in person or over the phone 5. **Share QR codes** that link to your web products page Native payment availability depends on the released app and eligible purchase. When it is unavailable, you can: * Use credits (pre-purchased on web) * Book sessions that require payment later * Send payment links through in-app messaging Sample message: "If you do not see the purchase option in your app, use our web portal to buy your membership or package. Then return to the app to use it." Yes! Once athletes purchase credits through the web portal, they can use them to book sessions within the mobile app. The restriction only applies to the purchase process, not credit usage. ## Troubleshooting ### Products not appearing in selection * Verify products exist in [Payments → Products](/payments/product-overview) * Check the product isn't archived (use the status filter dropdown to check) * Confirm Stripe is properly connected * Refresh the App Builder page ### Athletes report they can't find products 1. Check the athlete’s app version and whether it supports the intended purchase; offer the web purchase link when needed. 2. Check Products page Active toggle is ON 3. Verify their account has access 4. Test the web portal link yourself ### Purchase buttons not working (web) * Verify Stripe integration is active * Check product configuration in [Payments](/payments/product-overview) * Ensure product has valid pricing * Test in incognito/private browser ## Pro tips **Mobile purchase funnel**: Create a dedicated "How to Purchase" program in your app that includes: 1. Step-by-step instructions with screenshots 2. Direct link to web portal 3. Video walkthrough 4. FAQ about why app purchases aren't available **Pricing page on website**: Since products aren't visible in apps, make your website pricing page comprehensive: * Detailed product descriptions * Comparison tables * Clear CTAs to purchase * Mobile-optimized design **Communication strategy**: * Add web portal link to email signature * Include in SMS appointment reminders * Share during trial session sign-ups * Post QR codes at your facility **Section naming for web**: Since only web users see this, optimize for conversion: * "🔥 Most Popular" * "Best Value - Save 20%" * "New Member Special" * "Limited Time Offer" **Track your funnel**: Monitor where athletes drop off: 1. App users who don't know about web purchasing 2. Web visitors who don't complete purchase 3. Create targeted messages for each group ## Critical reminders **Never promise** in-app purchases are "coming soon" - this is a permanent platform restriction, not a temporary limitation. **Best practice**: Add a permanent message to your app onboarding flow explaining that purchases happen on the web for the best prices and to avoid app store fees. ## Related articles Build memberships, packages, and one-time products in the Product Builder Connect your Stripe account for payment processing Learn how the Athlete Portal works for coaches and athletes Restrict page access until athletes purchase a qualifying product Understand the different product types available in CoachIQ Send messages and announcements through your Inbox # Managing Schedulers in Your Athlete Portal Source: https://help.coachiq.io/athlete-portal/schedule Learn how to add, organize, and customize schedulers in your Athlete Portal so athletes can book sessions directly from their app. **Where to find this**: Dashboard → App Builder → Schedule tab ## What you'll accomplish Set up and organize your schedulers so athletes can view available sessions and book directly from their mobile app or web portal. You'll learn how to select which schedulers appear, organize them into sections, and customize how they're displayed to your athletes. ## Before you begin CoachIQ Athlete Portal Schedule page showing available sessions to book **Required setup**: You must have at least one scheduler created before adding it to the Athlete Portal. If you haven't created any schedulers yet, go to **Schedule → Schedulers** to set up your first one. ## Understanding the Schedule page The Schedule page in your Athlete Portal is where athletes view and book available sessions. As a coach, you have complete control over: * Which schedulers athletes can see * How schedulers are organized into sections * The titles and descriptions athletes see * Whether the scheduling feature is available at all Each scheduler displays its cost (like "1 Credit") which you set when creating the scheduler. This helps athletes understand the booking cost before they select a session. Athlete view of available sessions with credit costs displayed ## Accessing your Schedule settings From your dashboard, click **App** in the left navigation menu, then select **Schedule**. You'll see any existing sections and schedulers already added to your athlete portal. Toggle the **Active** switch to control whether athletes can see the Schedule page. When off, the entire scheduling section is hidden from athletes. CoachIQ App Builder Active toggle for the Schedule page Always hit update page to ensure the updates go live! ## Adding schedulers to your portal Within any section, click the **+ Add Schedule** button to add a scheduler. CoachIQ App Builder Add Schedule button for adding schedulers A modal will appear showing all schedulers you've created in the system. Select the scheduler(s) you want to add. CoachIQ scheduler selection modal showing available schedulers to add You can select multiple schedulers at once or add them one at a time. Click **Add Selected** to add the chosen schedulers to your section. They'll appear immediately with their title, description, and credit cost. ## Creating and organizing sections Sections help you organize schedulers into logical groups like "Elite Program", "Rising Stars", or by location. Athletes always see sections expanded - they cannot collapse them. Click **+ Add Section** at the bottom of your scheduler list. CoachIQ App Builder Add Section button for organizing schedulers Enter a clear, descriptive title for the section (e.g., "Beginner Classes", "Advanced Training", "Summer Programs"). Click **+ Add Schedule** within your new section to start adding schedulers. Your section is created and ready for schedulers! ## Customizing scheduler display Each scheduler can have a custom title and description that athletes see, regardless of the scheduler's original name. Select any scheduler in your list to open its editing panel. CoachIQ scheduler edit panel for customizing title and description Update the scheduler name that athletes will see. Make it clear and action-oriented. Add helpful context about the session type, skill level, or what athletes should expect. Keep it concise but informative. ## Reordering and managing sections Click the dots menu (⋮) next to any section to see management options. CoachIQ section management menu with move and delete options Drag sections up or down to change their display order. Place your most popular or important sections at the top. Select the delete option to remove an entire section and all its schedulers from the athlete view. Deleting a section from the Athlete Portal doesn't delete the actual schedulers - it just removes them from athlete view. ## Add one session to a personal calendar After booking in the athlete portal, select **Add to Calendar** on the confirmation screen and choose **Google Calendar**, **Apple Calendar**, **Outlook.com**, or the calendar file download. Each option includes the session name, date, time, and location. Apple Calendar downloads a file to open in Calendar. This adds the selected session. To subscribe to a feed of bookings, use the calendar subscription below. ## Subscribe to bookings in Google, Apple, or Outlook Parents and athletes can open **Settings → Calendar** in the athlete portal, turn on their calendar subscription, and choose **Google**, **Apple**, or **Outlook**. The subscription is a private, read-only feed of bookings; manage bookings in CoachIQ. Use **Reset private link** to replace the subscription link, or **Turn off** to disable it. After resetting, subscribe again using the new link. Keep the private link to yourself. This is separate from a coach's Admin Google Calendar sync. If you receive both a Google guest invitation and the CoachIQ calendar subscription, the same session can appear twice. ## Previewing the athlete experience Always preview your changes to ensure athletes see exactly what you intend. Select the preview icon in the top toolbar to see the athlete view. CoachIQ preview of the live Schedule page as athletes see it Check that: * Sections appear in the correct order * Scheduler titles and descriptions are clear * Credit costs display correctly * The overall organization makes sense for athletes Click through different schedulers to ensure they're properly configured and available for booking. ## Page settings Use the Settings panel to rename the Schedule tab and update the page URL. Click the **gear icon** in the top right of the Schedule page to open the Settings panel. CoachIQ Schedule page advanced settings with SEO and sharing options The first field at the top of the Settings panel is the **page display name** — this is what athletes see as the tab name in their portal. Update it to whatever fits your program (e.g., "Book Training", "Reserve a Spot"). The **Slug** field controls the URL path for this page (e.g., `/sessions`, `/schedule`). Update it to match your new name if needed. Edit the SEO metadata fields (title, keywords, description) that appear when someone shares your schedule page link. Click **Update Page** to apply all settings. ## Common questions Schedulers are created in **Schedule → Schedulers** in your main dashboard. The Athlete Portal only controls which existing schedulers are visible to athletes. [Learn how to create schedulers →](/scheduling/creating-your-first-scheduler) Check that: 1. The Schedule page is set to **Active** 2. The scheduler is added to a section in the Athlete Portal 3. The scheduler has available time slots configured 4. The athlete has the required credits or payment method The credit amount shown (e.g., "1 Credit") is the cost to book that session. Athletes must have sufficient credits in their account to book. Credits are set when creating the scheduler, not in the Athlete Portal. Currently, all athletes see the same schedulers. To control access, use the scheduler's internal settings for prerequisites or eligibility requirements. Yes! All changes to the Athlete Portal update instantly. There's no draft mode or publish button - athletes see updates as soon as you make them. ## Troubleshooting **Schedulers not appearing in selection modal?** Make sure you've created schedulers in **Schedule → Schedulers** first. The Athlete Portal can only display schedulers that already exist in your system. ### Common issues and solutions **Athletes can't see the Schedule page:** * Verify the Active toggle is turned on * Check that at least one scheduler is added * Ensure athletes are logged into their accounts **Credit amounts showing incorrectly:** * Credits are set in the scheduler configuration, not in the Athlete Portal * Go to **Schedule → Schedulers** to update credit costs **Sections appearing in wrong order:** * Use the dots menu (⋮) to drag and reorder sections * Changes save automatically **Scheduler descriptions not updating:** * Click directly on the scheduler to open edit mode * Make sure to click outside the field to save changes ## Pro tips **Organization best practices:** * Group schedulers by program level (Beginner, Intermediate, Advanced) * Or organize by location if you have multiple facilities * Keep section titles short and clear * Place your most popular schedulers at the top **Writing effective descriptions:** * Include skill level requirements * Mention any equipment needed * Specify age groups if relevant * Keep descriptions under 2 sentences **Testing your setup:** * Always preview after making changes * Test with a demo athlete account if possible * Check mobile and desktop views * Verify credit requirements are clear ## Related articles * [Creating Your First Scheduler](/scheduling/creating-your-first-scheduler) * [Setting Credit Prices for Sessions](/payments/credits/credit-system-overview) * [Managing Scheduler Availability](/scheduling/create-your-availability) * [Understanding the Athlete Portal](/athlete-portal/understanding-your-athlete-portal) * [Athlete Portal Access Control](/athlete-portal/paywall-settings) # Add Analytics and Tracking to Your Athlete Portal Source: https://help.coachiq.io/athlete-portal/scripts-and-analytics Learn how to add Google Analytics, Facebook Pixel, and custom scripts to track athlete engagement on your portal's web edition. **Where to find this**: Dashboard → App Builder → Settings → Scripts & Analytics Scripts & Analytics Settings **Web edition only**: Scripts and analytics only apply to the web version of your athlete portal (accessed via browser). Native iOS and Android apps cannot run custom scripts due to platform restrictions. ## What you'll accomplish Add tracking and analytics to your athlete portal's web edition. This lets you: * Track athlete engagement with Google Analytics * Run Facebook Pixel for retargeting and conversion tracking * Load third-party tools (Hotjar, Intercom, etc.) * Add custom JavaScript for advanced integrations ## Accessing Scripts & Analytics settings From your dashboard, select **App** in the left sidebar. Click **Settings** in the navigation menu. Choose **Scripts & Analytics** to access your tracking options. ## Adding Google Analytics Track athlete behavior, page views, and engagement metrics with Google Analytics. ### Get your Measurement ID Go to [analytics.google.com](https://analytics.google.com) and sign in. Click the **Admin** gear icon in the bottom left corner. Under **Property Settings**, click **Data Streams**. Select your existing web stream, or click **Add stream** → **Web** to create one. Enter your athlete portal URL (e.g., `app.coachiq.io/your-org/your-portal`). Copy the **Measurement ID** - it starts with `G-` followed by letters and numbers (e.g., `G-ABC123XYZ`). You only need the Measurement ID, not the full script code. CoachIQ handles the script injection automatically. ### Add to CoachIQ In the **Analytics** section, paste your Measurement ID into the **Google Analytics** field. Click **Update Analytics** in the top right corner. Your Google Analytics tracking is now active on your athlete portal web edition. ### Verify it's working In Google Analytics, go to **Reports** → **Realtime**. In another browser tab, visit your athlete portal web edition. You should appear as an active user in the Realtime report within a few seconds. ## Adding Facebook Pixel Track conversions and build retargeting audiences with Facebook Pixel. In Meta Business Suite, go to **Events Manager** → **Data Sources** → your Pixel. Copy the **Pixel ID** (a string of numbers, e.g., `1234567890123456`). In the **Analytics** section, paste your Pixel ID into the **Facebook Pixel** field. Click **Update Analytics** to activate tracking. In Meta **Events Manager**, open **Test Events** and load a portal page (your sign-up link, a form link, or the Schedule page) in a browser. A PageView from the portal should appear within a few seconds. Portal pages fire the pixel independently of your public website. If your website shows events in Test Events but portal pages do not, confirm the Pixel ID is saved here in the App Builder's **Scripts & Analytics**, not only in the Website Builder; the two are configured separately. ## Adding External Scripts Load third-party JavaScript libraries by URL. Use this for tools like Hotjar, Intercom, Drift, or any service that provides a script URL. From your third-party tool, copy the script source URL (starts with `https://`). In the **External Scripts** section, paste the URL into the **Script Source URL** field. Click **+ Add Script Source** to add additional script URLs. Click **Update Analytics** to load the scripts. **Only add scripts you trust.** External scripts have full access to your athlete portal page. Only use scripts from reputable services. ## Adding Custom JavaScript Run your own JavaScript code for advanced integrations, custom tracking events, or specialized functionality. In the **Custom Js** section, enter your JavaScript code. Don't include `