Dashboard

Blog Posts

-

Total Blocks

-

Inbox

-

Active Template

-

Customers

-

System Maintenance

Clear all server-side caches to force fresh data from the database. Useful after making changes to settings, templates, or content.

Blocks

Edit Block

{{block:name}}
Use this code in your templates to display this block

Collection Items

Blog Posts

New Blog Post

This will be automatically generated from the title and must be unique
Title displayed in search engine results and browser tabs. Recommended: 50-60 characters.
This description appears in search engine results. Keep it concise and compelling.
If set, the post will only be visible after this date/time. Time defaults to midnight if not specified.
Press Enter or comma to add a tag. Click × to remove.
Used as thumbnail in blog list, header image on post page, and for social media sharing

Pages

New Page

This will be automatically generated from the title and must be unique
Title displayed in search engine results and browser tabs.
This description appears in search engine results.
Template file used to render this page
Used for social media sharing

Page Layouts

How it works: Each layout maps to a template HTML file. "Default" uses cms-page.html. To create a custom layout, add an HTML file (e.g. full-width.html) to your template directory, then create a layout here with the matching slug (full-width). Use {{page:content}} and other {{page:*}} shortcodes in the file to output page data.

New Layout

The HTML file (without .html) in your template directory

Templates

Inbox

Form Submission Details

General Settings

🌐 Site Configuration

Configure your site's branding and base URL. These settings are used throughout the admin interface.

The name of your website. This will appear in the admin navigation and login screen.
Upload a logo to display in the admin navigation and login screen instead of the default icon. Recommended size: 40x40 pixels or a square aspect ratio.
The full URL of your website (including https://). This is used for email links and other absolute URLs.
How long to cache public pages (homepage, about, blog, etc.). Set to 0 to disable caching. Changes take effect on the next page load. Default: 5 minutes.

🏪 Store Address

Your store's physical address. Used as the ship-from origin when calculating real-time shipping rates from providers like Shippo.

💰 Tax Settings

Configure tax rate for taxable items. Items marked as "Taxable" in their data block will have this tax rate applied at checkout.

Tax percentage (e.g., 8.5 for 8.5% tax). Set to 0 for no tax.

🔄 Subscription Settings

Configure default behavior for recurring subscription orders. Individual subscription configurations can override the reminder days.

Days before charge to send reminder email (default: 3)
Number of times to retry failed charges before pausing subscription (default: 3)
Days between retry attempts (default: 2)

Email Settings (SMTP)

Payment Settings

ℹ️
Payment Configuration

Enable any combination of Stripe, PayPal, and Square to offer those payment options to customers at checkout — all three can be used together.

Alternatively, Homeplate CMS Payments handles payment processing for you — but it cannot be combined with the other payment methods. If Homeplate CMS Payments is active, it replaces the card-payment option at checkout.

⚠️ If no payment method is enabled, the shopping cart will be disabled and customers will not be able to complete purchases.

⭐ Homeplate CMS Payments — Hands-off payment setup, we handle the technical configuration for you

Best for merchants who don't want to manage their own Payment Processor account. A small percentage of each sale covers setup and ongoing maintenance.

💳 Stripe Configuration

Found in your Stripe Dashboard under the webhook endpoint details.
ℹ️
Stripe Webhook Setup Required

For payments and order updates to work correctly, you must register a webhook endpoint in your Stripe Dashboard:

  1. Go to Stripe Dashboard → Developers → Webhooks
  2. Click "Add destination"
  3. Select the following events:
    • payment_intent.succeeded — Finalizes orders after successful payment
    • payment_intent.payment_failed — Tracks declined and failed payments
    • charge.refunded — Updates order status when refunds are issued
    • charge.dispute.created — Alerts you when chargebacks are initiated
  4. Set the Webhook endpoint URL to:
  5. Copy the Signing secret (starts with whsec_) and paste it above

Without these webhooks, payments will be collected but orders will stay in "pending" status, and refunds or chargebacks won't be tracked.

🅿️ PayPal Configuration

Found in your PayPal Developer Dashboard under Webhooks. Needed to verify webhook signatures for subscription events.
ℹ️
PayPal Webhook Setup

For subscriptions and payment tracking to work correctly, register a webhook endpoint in your PayPal Developer Dashboard:

  1. Go to PayPal Developer Dashboard → My Apps & Credentials → Your App → Webhooks
  2. Add a webhook with the same endpoint URL as your Stripe webhook
  3. Select the following events:
    • PAYMENT.SALE.COMPLETED — Recurring payment succeeded
    • PAYMENT.SALE.PENDING — Recurring payment pending (e.g., eCheck/bank-funded)
    • BILLING.SUBSCRIPTION.CANCELLED — Subscription cancelled
    • BILLING.SUBSCRIPTION.SUSPENDED — Subscription suspended
    • BILLING.SUBSCRIPTION.EXPIRED — Subscription expired
    • BILLING.SUBSCRIPTION.REACTIVATED — Subscription reactivated
    • BILLING.SUBSCRIPTION.CREATED — Subscription created
    • BILLING.SUBSCRIPTION.ACTIVATED — Subscription activated
    • BILLING.SUBSCRIPTION.PAYMENT.FAILED — Recurring payment failed
    • PAYMENT.SALE.DENIED — Payment denied
    • PAYMENT.SALE.REFUNDED — Payment refunded
  4. Copy the Webhook ID and paste it above

Without this webhook, PayPal subscription events (cancellations, renewals, failures) won't be tracked automatically.

⬛ Square Configuration

Found in your Square Developer Dashboard under your application credentials.
Your Square access token. Use Sandbox credentials for testing.
Found in your Square Dashboard under Locations. Used for payment processing.
Found in your Square Developer Dashboard under Webhooks. Needed to verify webhook signatures for payment events.
ℹ️
Square Webhook Setup

For payment tracking and refund handling, register a webhook in your Square Developer Dashboard:

  1. Go to Square Developer Dashboard → Your App → Webhooks
  2. Add a webhook endpoint
  3. Select the following events:
    • payment.updated — Tracks payment status changes and refunds
  4. Set the endpoint URL to:

Shipping Settings

📦 General Settings

Configure shipping options for physical products. Items marked as "Shippable" in their data block will have shipping costs calculated at checkout.

When disabled, shipping costs will be set to $0 for all orders
Orders over this amount qualify for free standard shipping (e.g., 100 for $100). Leave at 0 to disable free shipping.
Added to every shipping quote (handling fee)
Amount added on top of the carrier or flat rate

📡 Real-Time Rate Provider

Optionally connect a shipping provider to quote live rates from carriers (USPS, UPS, FedEx, DHL) at checkout. If the provider isn't configured or the request fails, the flat-rate tables below are used as a fallback.

Choose how shipping rates are calculated
Get this from your provider's dashboard (e.g. Shippo). Test keys start with shippo_test_, live keys with shippo_live_ — the key itself determines the mode.
Leave empty to allow all carriers the provider supports.

🚚 Standard Shipping (5-7 business days) — flat rate / fallback

Starting cost
Added per item
Added per pound

✈️ Express Shipping (2-3 business days) — flat rate / fallback

Starting cost
Added per item
Added per pound

⚡ Overnight Shipping (1 business day) — flat rate / fallback

Starting cost
Added per item
Added per pound

Tracking Codes

📊 Tracking Codes

Add tracking snippets (e.g., Google Analytics, Facebook Pixel) to your site. These are injected into every page of your website template.

Code placed in the <head> of every page. Use this for analytics, pixel trackers, and meta verification tags.
Code placed before </body> on every page. Use this for chat widgets, conversion scripts, and other footer scripts.

Collections

New Data Block

Use lowercase letters, numbers, and underscores only
Define the structure of your data (e.g., title, price, description). Or use the template selector when creating a new collection.

Shopping Configuration

Enable shopping to allow this data block to be sold. Configure which attributes contain pricing, titles, etc.

Collection Items

Data Status Created Actions

New Record

Variant Configuration

Add variants to allow customers to select different options like size, color, or material — or add text input fields for customizations like names or phrases.

Data Views

New Data View

Use {{data:attr:fieldname}} to display attributes. Available: {{data:attr:*}}, {{data:text:*}}
JSON format: {"filters": [{"attribute": "name", "operator": "=", "value": "value"}]}
JSON format: {"sort_by": "fieldname", "sort_order": "ASC or DESC"}
{{data:view:view_name}}
Use this code in your templates to display this view

Product Feeds

Promo Codes

New Promo Code

Promo code entered by customers at checkout
For percentage: enter the percent (e.g., 10 for 10%). For fixed: enter the dollar amount (e.g., 10.00 for $10 off).
Optional — when the promo code becomes active
Optional — when the promo code expires

New Feed

1. Feed Source

Automatically generated from the display name
Base URL where product images are hosted. Filenames from the feed are appended to this.

Orders

Total Orders

-

Pending

-

Completed

-

Revenue

$-

Order # Date Customer Email Total Order Status Payment Actions

Customers

Email Customer Name Business Name Orders Total Spent Actions
Loading customers...

Customer Details

Contact Information

Name: -
Business: -
Email: -
Phone: -

Order Summary

Total Orders: 0
Total Spent: $0.00

Billing Address

No address on file

Order History

Order # Date Total Status Payment Actions
No orders found

Edit Customer

Optional - for B2B customers
Minimum 6 characters (required for new customers). Leave blank when editing to keep existing password.

Billing Address

Create Order

Order Items

Order Summary

Additional Information

Order Details

Select an order to view details

Subscription Management

Active Subscriptions

-

Paused

-

Cancelled

-

Monthly Recurring Revenue

$-

Due Within 7 Days

-

Order # Customer Started Next Charge Amount Duration Status Actions
Loading subscriptions...

Subscription Details

Users

Username Role Created At Actions
Loading users...

Webhooks

Total Webhooks

-

Active Webhooks

-

Deliveries (24h)

-

Success Rate

-

Loading webhooks...

Edit Webhook

The URL where webhook payloads will be sent
Used to sign webhook payloads for verification

Loading events...

Webhook Details

Select a webhook to view details

Homeplate Payments

Loading…

Loading…