{
 "schema_version": "1.0",
 "id": "trainerize",
 "name": "Trainerize",
 "research_status": "researched",
 "vendor_domain": "trainerize.com",
 "category": "Operations & Workflow",
 "task": null,
 "summary": "Personal training and fitness-coaching platform. Deliver workout and nutrition plans, message clients and take payments from one branded app, so trainers can coach more clients online.",
 "best_for": "personal trainers and studios delivering structured workout/nutrition coaching through a polished client app, scaling by client count",
 "skip_if": "you coach a handful of clients over WhatsApp and sheets happily, or you want one flat price without add-on shopping",
 "honest_knock": "The client-count ladder looks gentle, but most add-ons are flat and they land hardest on the smallest coach: at five seats a $23 Pro plan dressed with nutrition, payments and video is $63, while the same three turn the $225 two-hundred-client row into $290. Price the stack you'll actually coach with, and note that the branded app is $169 to Trainerize plus a $99/year Apple Developer Account billed by Apple. That said, the client experience and the ABC platform are mature; churn-prone coaches lose more to a clunky app than to a fair subscription.",
 "pricing": {
  "status": "public",
  "entry_price": "$9",
  "entry_price_terms": "per month billed annually (2 clients)",
  "from_price_usd_month": 9.0,
  "plans": null,
  "plans_source": null,
  "notes": "(re-verified 2026-09-27 on www.trainerize.com/pricing in the browser pane, both billing toggles and every seat selector operated; prices in USD and subject to applicable taxes, annual plans billed once a year) Basic is free for 1 client. Grow is $9 a month billed annually or $10 month-to-month, for 2 clients. Pro is priced by client seats: 5, 15, 30, 50, 75, 100 and 200 seats cost $23, $45, $71, $122, $162, $203 and $225 a month billed annually, or $25, $50, $79, $135, $180, $225 and $250 month-to-month. Studio Plus is $248 a month per location billed annually ($275 monthly) for 500 client seats and $342 ($380) for 1,000; 5+ locations are quoted. Annual billing saves 10% and there are no long-term contracts. Add-ons on Grow and Pro: Advanced Nutrition Coaching $20 a month on Grow, Pro 5 and Pro 15 and $45 from Pro 30 to Pro 200; Business $25; Stripe Integrated Payments $10; Video Coaching $10; and on Pro a Custom Branded App at a one-time $169, which also needs your own $99-a-year Apple Developer Account, charged by Apple. Studio Plus includes all of them. FitMetrics is a separate add-on from $6 per client. A 30-day trial with unlimited clients needs no card; add-ons are not included in it.",
  "verified_at": "2026-10-22",
  "source_url": "https://www.trainerize.com/pricing/",
  "schema_offer": null,
  "source_quotes": [
   {
    "field": "price",
    "plan": "Pro 5",
    "quote": "$ 23 / month",
    "source_url": "https://www.trainerize.com/pricing/",
    "read_on": "2026-10-22"
   },
   {
    "field": "price",
    "plan": "Studio Plus, default selection",
    "quote": "$248 / month",
    "source_url": "https://www.trainerize.com/pricing/",
    "read_on": "2026-10-22"
   },
   {
    "field": "price",
    "plan": "Grow",
    "quote": "$9 / month",
    "source_url": "https://www.trainerize.com/pricing/",
    "read_on": "2026-10-22"
   },
   {
    "field": "free_trial",
    "plan": null,
    "quote": "Enjoy 30 days free",
    "source_url": "https://www.trainerize.com/free-trial/",
    "read_on": "2026-10-30"
   }
  ],
  "recent_change": null,
  "price_history": null
 },
 "free_plan": false,
 "free_plan_evidence": null,
 "cost_traps": [
  {
   "id": "addons_extra",
   "label": "Key features are paid add-ons",
   "evidence": "FitMetrics is a separate add-on from $6 per client.",
   "verified_at": "2026-10-22",
   "source_url": "https://www.trainerize.com/pricing/"
  },
  {
   "id": "annual_lock",
   "label": "Annual commitment",
   "evidence": "Annual billing saves 10% and there are no long-term contracts.",
   "verified_at": "2026-10-22",
   "source_url": "https://www.trainerize.com/pricing/"
  }
 ],
 "compare_with": {
  "name": "TrueCoach or Everfit",
  "why": "the coaching-platform peer set: all use client-tiers plus add-ons; compare your fully-dressed stack price, not entry rows"
 },
 "links": {
  "record": "https://aibuildermarketplace.com/api/v1/products/trainerize.json",
  "review": "https://aibuildermarketplace.com/b2b/trainerize-review/",
  "marketplace": "https://aibuildermarketplace.com/marketplace/trainerize/",
  "vendor_site": "https://trainerize.com"
 },
 "purchase": {
  "seller": "the vendor",
  "how": "AIBuilder Marketplace does not sell this software. Sign up, start a trial or buy on the vendor's site.",
  "handoff_url": "https://getstarted.trainerize.com/u6f1n0n63u5w",
  "affiliate": true,
  "disclosure": "Where purchase.affiliate is true, purchase.handoff_url is an affiliate link: AIBuilder Marketplace may earn a commission at no extra cost to the buyer. Commission never changes what a record says, and products are not ranked by commission. Where it is false the link is the vendor's plain site."
 },
 "provenance": {
  "research": "hand-researched dossier, read on the vendor's own pages",
  "researched_since": "2026-07",
  "method": "https://aibuildermarketplace.com/how-we-review/",
  "license": "CC BY 4.0. Credit 'AIBuilder Marketplace' with a link to https://aibuildermarketplace.com/atlas/.",
  "note": "A rebuild is not a new measurement: pricing.verified_at is the date that matters."
 },
 "cost": {
  "status": "not_yet",
  "engine": "https://aibuildermarketplace.com/agents/#cost",
  "rules": null,
  "growth": null
 },
 "unknowns": [
  "Plan-by-plan prices are not structured in this record yet; pricing.notes has the full text.",
  "Data export tested on 2026-10-30; contract terms not researched. Scope and untested export routes are listed in measured.exit_test.",
  "Being verified: refund terms are not yet matched to a verbatim line on the vendor's own pages. Not matched does not mean there is none.",
  "No computable price rules yet: cost at a given team size cannot be calculated for this product."
 ],
 "verification": {
  "price": "quoted",
  "free_trial": "quoted",
  "refund": "being_verified"
 },
 "status_page": null,
 "measured": {
  "support": null,
  "onboarding": null,
  "inbox": {
   "timeline": {
    "signup_at": null,
    "messages": [
     {
      "received_at": "2026-10-30T12:58:08Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerize.com",
      "subject": "Welcome to ABC Trainerize!",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-30T13:12:48Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Let’s get started 💪",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-30T13:27:05Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Welcome to ABC Trainerize! Let's get started.",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-10-31T13:18:06Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Verify your email to start your free trial 🙌",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-01T00:49:22Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerize.com",
      "subject": "Weekly client summary",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-02T13:18:17Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Take a peek inside your trial 👀",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-02T15:27:10Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Build your personalized workout plan in minutes 💪",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-03T00:09:02Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Your account is waiting! ⏱️",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-06T17:05:47Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "How to Automate Your Personal Training Business (and Save Hours Every Week)",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-07T14:27:13Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerizemail.com",
      "subject": "Nutrition habits that actually work + healthy meal guide [BONUS RESOURCE]",
      "folder": "inbox",
      "offer": null
     },
     {
      "received_at": "2026-11-08T00:49:06Z",
      "sender_name": "Trainerize team",
      "sender_domain": "trainerize.com",
      "subject": "Weekly client summary",
      "folder": "inbox",
      "offer": null
     }
    ]
   },
   "window_start": "2026-10-29T23:00:00Z",
   "window_end": "2026-11-12T23:00:00Z",
   "window_days": 14,
   "time_basis": "signup_date_midnight_Europe_Amsterdam",
   "status": "complete",
   "observed_at": "2026-11-13T02:18:02.597303Z",
   "counts": {
    "transactional": 1,
    "onboarding_tips": 3,
    "sales_upsell": 0,
    "personal_looking_sales": 0
   },
   "first_sales_email_hours": null,
   "has_list_unsubscribe": true,
   "uncertain": 7,
   "after_cancel": {
    "status": "not_tested"
   },
   "after_deletion": {
    "status": "not_tested"
   },
   "after_unsubscribe": {
    "status": "not_tested"
   }
  },
  "invites": {
   "status": "not_tested",
   "default_on": "not_tested",
   "plus_accepted": "not_tested",
   "invitee_can_unsubscribe": "not_tested",
   "address_book_requested": "not_tested",
   "workspace_requested": "not_tested"
  },
  "entry_exit": {
   "signup": {
    "screens": "not_tested",
    "card_required": "not_tested",
    "call_required": "not_tested",
    "observed_on": null,
    "evidence_url": null
   },
   "cancel": {
    "screens": "not_tested",
    "call_required": "not_tested",
    "observed_on": null,
    "evidence_url": null
   }
  },
  "tested_on": "2026-10-30",
  "tested_by": "Our team; actor, account and scope are documented in the review.",
  "review_url": "https://aibuildermarketplace.com/b2b/trainerize-review/",
  "method": [
   "Went through the setup choosing neutral answers",
   "Added two made-up exercises without video",
   "Looked through the library and menus for an export"
  ],
  "claims": [
   {
    "claim": "Enjoy 30 days free",
    "claim_source": "https://www.trainerize.com/free-trial/",
    "claim_read_on": "2026-10-30",
    "observed": "The account announces a thirty-day Free Trial, with thirty days remaining.",
    "observed_on": "2026-10-30",
    "evidence": {
     "label": "Our test observations",
     "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
    },
    "plan": "30-day trial; tier not inspected",
    "comparability": "The public thirty-day offer matches both the trial-start dialog and remaining-days banner; the subscription tier is unknown.",
    "status": "confirmed",
    "buying_consequence": "A phone number is required in setup; the tested subscription tier was not established.",
    "buyer_direction": null,
    "claim_changed_on": null
   },
   {
    "claim": "Enjoy 30 days free",
    "claim_source": "https://www.trainerize.com/free-trial/",
    "claim_read_on": "2026-10-30",
    "observed": "No checkout opened. The plan overview or free editing route does not establish a tax-inclusive payable total.",
    "observed_on": "2026-10-30",
    "evidence": {
     "label": "Our test observations",
     "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
    },
    "plan": "30-day trial; tier not inspected",
    "comparability": "Trainerize Upgrade Now was not followed to an order summary, so no final amount can be compared with a price rule.",
    "status": "not_testable",
    "buying_consequence": "Final currency, tax, term, seats, fees and payment total remain unverified.",
    "buyer_direction": null,
    "claim_changed_on": null
   },
   {
    "claim": "No credit card required.",
    "claim_source": "https://www.trainerize.com/free-trial/",
    "claim_read_on": "2026-10-30",
    "observed": "No card was entered during the observed post-signup route. Daan handled signup; its individual screens were not counted.",
    "observed_on": "2026-10-30",
    "evidence": {
     "label": "Our test observations",
     "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
    },
    "plan": "30-day trial; tier not inspected",
    "comparability": "Trainerize’s post-signup setup and exercise creation proceeded without a payment card; the mandatory phone field is a separate setup requirement.",
    "status": "confirmed",
    "buying_consequence": "The observed route proceeded without card entry; billing later remains untested.",
    "buyer_direction": null,
    "claim_changed_on": null
   }
  ],
  "exit_test": {
   "run_date": "2026-10-30",
   "what": "Created two custom exercises in Master Libraries > Exercises during the thirty-day trial.",
   "first_import": null,
   "file_inspected": false,
   "reimport_tested": false,
   "awkward": "Setup required a phone number. Exercise media accepts video rather than the kit PNGs, and tags come from a fixed list; Beginner was selected. Saving gave no visible result with Custom Video selected. Selecting No Video allowed both exercises to save, with names and multiline instructions intact in the UI. These are input observations, not export preservation results.",
   "friction": {
    "export_route": "No exercise export or import control found in the library and inspected Business menu. This limited search does not prove that export is unavailable throughout the product.",
    "format": "No exercise export file obtained.",
    "reimport": "Exercise restoration was not tested; no export was available for a round trip.",
    "cancellation": "Cancellation, expiry and account deletion were not tested. The control date, where recorded, is planning only."
   },
   "not_tested": [
    "Full signup screen count and first-result setup speed.",
    "Actual cancellation, expiry and deletion.",
    "All kit fields that were not entered.",
    "Application reimport or restoration."
   ],
   "available_fields": [],
   "not_offered": [],
   "note": "A check of this export route with synthetic records, on the account and date stated. Re-importing the export was not tested. The exported file was not opened, so what it contains is unverified. Friction is described, not scored; this is not a verdict on the product.",
   "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#exit-test"
  },
  "facts": {
   "trial_requires_card": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-30",
    "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#hands-on"
   },
   "trial_duration_confirmed": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-30",
    "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#hands-on"
   },
   "export_file_inspected": {
    "value": false,
    "basis": "Created two custom exercises in Master Libraries > Exercises during the thirty-day trial. A check of this export route with synthetic records, on the account and date stated. Re-importing the export was not tested. The exported file was not opened, so what it contains is unverified. Friction is described, not scored; this is not a verdict on the product.",
    "observed_on": "2026-10-30",
    "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#exit-test"
   },
   "export_reimport_tested": {
    "value": false,
    "basis": "Created two custom exercises in Master Libraries > Exercises during the thirty-day trial. A check of this export route with synthetic records, on the account and date stated. Re-importing the export was not tested. The exported file was not opened, so what it contains is unverified. Friction is described, not scored; this is not a verdict on the product.",
    "observed_on": "2026-10-30",
    "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#exit-test"
   },
   "export_direct_download": {
    "value": "not_tested",
    "basis": "No explicit observation in the public evidence.",
    "observed_on": "2026-10-30",
    "evidence_url": "https://aibuildermarketplace.com/b2b/trainerize-review/#hands-on"
   },
   "marketing_emails_14d": {
    "value": "not_tested",
    "basis": "No complete unambiguous 14-day inbox observation available.",
    "observed_on": "2026-11-13",
    "evidence_url": null
   }
  }
 },
 "task_evidence": {
  "structured_checks": [],
  "sessions": [
   {
    "source": "session",
    "product_name": "Trainerize",
    "product_id": "trainerize",
    "run_date": "2026-10-30",
    "session_type": "hands_on",
    "what": "Tested by our team on 30 October 2026 on the free trial: Daan created the account and our AI assistant ran the test in Daan's browser. We set up the account without claiming to be a coach, added two made-up exercises to the library and looked for an export.",
    "findings": [
     "The trial runs 30 days, as advertised, with no card. Setup asks what kind of coach you are, and 'Other' is an option. A phone number becomes required once you have answered.",
     "A new exercise is built around a video (an mp4 or .mov file, or a YouTube link). You cannot add an image, and saving silently did nothing until we switched to 'No Video'.",
     "Tags come from a fixed list (muscle, equipment, movement, level); you cannot make your own.",
     "The instructions kept our line break, accents and quotes.",
     "The library already holds hundreds of stock exercises with videos.",
     "We found no export for exercises in the library or business menus."
    ],
    "not_tested": [
     "Adding clients and programs",
     "The mobile app",
     "Paid plans",
     "Contacting support"
    ],
    "report": null,
    "disclosure": null,
    "evidence_status": null,
    "result": "reported",
    "note": "Findings as written up after the session; no pass/fail per task was scored.",
    "claim_checks": [
     {
      "claim": "Enjoy 30 days free",
      "claim_source": "https://www.trainerize.com/free-trial/",
      "claim_read_on": "2026-10-30",
      "observed": "The account announces a thirty-day Free Trial, with thirty days remaining.",
      "observed_on": "2026-10-30",
      "evidence": {
       "label": "Our test observations",
       "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
      },
      "plan": "30-day trial; tier not inspected",
      "comparability": "The public thirty-day offer matches both the trial-start dialog and remaining-days banner; the subscription tier is unknown.",
      "status": "confirmed",
      "buying_consequence": "A phone number is required in setup; the tested subscription tier was not established.",
      "buyer_direction": null,
      "claim_changed_on": null
     },
     {
      "claim": "Enjoy 30 days free",
      "claim_source": "https://www.trainerize.com/free-trial/",
      "claim_read_on": "2026-10-30",
      "observed": "No checkout opened. The plan overview or free editing route does not establish a tax-inclusive payable total.",
      "observed_on": "2026-10-30",
      "evidence": {
       "label": "Our test observations",
       "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
      },
      "plan": "30-day trial; tier not inspected",
      "comparability": "Trainerize Upgrade Now was not followed to an order summary, so no final amount can be compared with a price rule.",
      "status": "not_testable",
      "buying_consequence": "Final currency, tax, term, seats, fees and payment total remain unverified.",
      "buyer_direction": null,
      "claim_changed_on": null
     },
     {
      "claim": "No credit card required.",
      "claim_source": "https://www.trainerize.com/free-trial/",
      "claim_read_on": "2026-10-30",
      "observed": "No card was entered during the observed post-signup route. Daan handled signup; its individual screens were not counted.",
      "observed_on": "2026-10-30",
      "evidence": {
       "label": "Our test observations",
       "url": "https://aibuildermarketplace.com/b2b/trainerize-review/#claim-vs-measured"
      },
      "plan": "30-day trial; tier not inspected",
      "comparability": "Trainerize’s post-signup setup and exercise creation proceeded without a payment card; the mandatory phone field is a separate setup requirement.",
      "status": "confirmed",
      "buying_consequence": "The observed route proceeded without card entry; billing later remains untested.",
      "buyer_direction": null,
      "claim_changed_on": null
     }
    ],
    "claim_checks_note": "A vendor claim (quoted, with source and read date) set against what we observed in this session on the plan stated. status is confirmed, contradicted, not_comparable, not_testable or out_of_date; it is not a score of the product.",
    "exit_test": {
     "run_date": "2026-10-30",
     "what": "Created two custom exercises in Master Libraries > Exercises during the thirty-day trial.",
     "first_import": null,
     "file_inspected": false,
     "reimport_tested": false,
     "awkward": "Setup required a phone number. Exercise media accepts video rather than the kit PNGs, and tags come from a fixed list; Beginner was selected. Saving gave no visible result with Custom Video selected. Selecting No Video allowed both exercises to save, with names and multiline instructions intact in the UI. These are input observations, not export preservation results.",
     "friction": {
      "export_route": "No exercise export or import control found in the library and inspected Business menu. This limited search does not prove that export is unavailable throughout the product.",
      "format": "No exercise export file obtained.",
      "reimport": "Exercise restoration was not tested; no export was available for a round trip.",
      "cancellation": "Cancellation, expiry and account deletion were not tested. The control date, where recorded, is planning only."
     },
     "not_tested": [
      "Full signup screen count and first-result setup speed.",
      "Actual cancellation, expiry and deletion.",
      "All kit fields that were not entered.",
      "Application reimport or restoration."
     ],
     "available_fields": [],
     "not_offered": [],
     "note": "A check of this export route with synthetic records, on the account and date stated. Re-importing the export was not tested. The exported file was not opened, so what it contains is unverified. Friction is described, not scored; this is not a verdict on the product."
    },
    "in_catalog": true
   }
  ]
 },
 "open_questions": [
  {
   "question_id": "trainerize:cancellation_terms",
   "key": "cancellation_terms",
   "question": "Can a customer cancel at any time, and what happens to an annual plan that is cancelled mid-term?",
   "status": "open"
  },
  {
   "question_id": "trainerize:data_export",
   "key": "data_export",
   "question": "Which data can a customer export, in which formats, on which plans?",
   "status": "open"
  },
  {
   "question_id": "trainerize:data_location",
   "key": "data_location",
   "question": "Where is customer data stored, and can a customer choose the region?",
   "status": "open"
  },
  {
   "question_id": "trainerize:minimum_seats",
   "key": "minimum_seats",
   "question": "Is there a minimum number of seats or users on any plan?",
   "status": "open"
  }
 ],
 "vendor_answers": [],
 "agent_channels": {
  "vendor_mcp": null,
  "agent_checkout": {
   "status": "not_found",
   "detail": "No explicit support for purchases by AI agents on the vendor's own pages.",
   "checked_at": "2026-10-07",
   "method": "homepage, /pricing and the pricing page we cite, read as plain HTML (no JavaScript) and searched for explicit support of purchases by AI agents: Agentic Commerce Protocol, Instant Checkout, Agent Payments Protocol, buy in ChatGPT, agentic checkout"
  }
 }
}
