Guides

Google Calendar Booking for WordPress: Plugin vs Iframe vs SaaS

There are three ways to add Google Calendar booking to a WordPress site. One is free but useless for real bookings. One is powerful but expensive. One hits the sweet spot. Here's an honest comparison.

10 March 2026  ·  7 min read
Google Calendar Booking for WordPress: Plugin vs Iframe vs SaaS

If you use Google Calendar and run a WordPress website, you have three fundamentally different options for letting clients book appointments with you. Each works in a completely different way, costs a different amount, and delivers a different experience for you and your clients.

This guide covers all three so you can choose the one that actually fits how you work.

Option 1: The Google Calendar iframe embed

Google Calendar lets you embed a public view of your calendar directly into any webpage using an HTML iframe. You copy the embed code from your calendar settings, paste it into a page, and visitors can see your schedule.

This is the simplest option — and also the most limited.

What it looks like: a full calendar grid showing your events, colour-coded by calendar. It looks exactly like Google Calendar. Your website’s design has no influence on it.

What it can do:

  • Show your calendar to website visitors
  • Display existing events and blocked time
  • Update automatically when your calendar changes

What it cannot do:

  • Accept bookings — visitors can only view, never book
  • Collect client details (name, email, phone)
  • Send confirmation emails
  • Create new events in your calendar
  • Show only available slots — it shows everything, including private event titles
  • Match your website’s visual design

Cost: free.

Verdict: the iframe is suitable for one use case — showing people when you’re busy without wanting them to book anything. For any real booking workflow it is the wrong tool. Most people who embed it eventually replace it when they realise visitors can see their calendar but can’t actually book.

Option 2: A SaaS scheduling tool (Calendly, Acuity, and others)

SaaS scheduling platforms like Calendly, Acuity Scheduling, and Doodle are standalone products that connect to your Google Calendar and provide a full booking flow. You create an account, configure your availability, connect your Google Calendar, and share a booking link.

These tools are well-designed and genuinely useful. For many users, Calendly in particular is the right answer.

What they do well:

  • Quick to set up — no WordPress configuration, no hosting considerations
  • Full booking flow — clients pick a slot, fill in their details, receive a confirmation
  • Google Calendar integration — reads your availability and writes events back
  • Team scheduling — round-robin booking, collective availability, multiple hosts
  • Wide integrations — Zoom, Salesforce, HubSpot, Zapier

Where they fall short for WordPress users:

  • Clients leave your website. Booking happens on calendly.com/you or acuityscheduling.com/you — not on your domain. You send people away from the site you spent money building.
  • Their branding, not yours. Even on paid plans, the booking page carries the platform’s design. Customisation options are limited to colours and a logo.
  • Monthly fees. Calendly charges $10–16 per seat per month. Acuity starts at $20/month. For a solo consultant, that is $120–240/year for a tool that redirects clients away from your website.
  • Your data lives on their servers. Client names, emails, appointment history — all stored on a third-party platform. If the company changes its pricing, policies, or shuts down, you lose access.

Cost: typically $10–20/month per seat. Free tiers exist but are limited to one event type with no customisation.

Verdict: the right choice if you need team scheduling, CRM integrations, or don’t have a WordPress site. The wrong choice if you want booking to live on your own website with your own branding.

Option 3: A WordPress plugin with Google Calendar API integration

The third option is a WordPress plugin that connects directly to the Google Calendar API and embeds the full booking experience on your site. Visitors pick a slot, fill in their details, and confirm — all on your domain, in your design. A real Google Calendar event is created instantly.

This is the approach CalNative Booking takes.

How it works: you create a Google service account in Google Cloud Console (a one-time setup), share your calendar with it, and upload a JSON key file to the plugin. From then on, the plugin reads your calendar’s free/busy data in real time through the API — so it only shows slots that are genuinely available — and creates events directly in your calendar when someone books.

What you get:

  • Booking stays on your site. The widget is embedded in your page content. Your header, footer, fonts, and branding stay visible the entire time.
  • Real Google Calendar events. Confirmed bookings create a full event in your calendar — with the client’s name, email, phone, and any notes in the description.
  • Confirmation emails with ICS attachment. Both you and the client receive an email. The client’s email includes an ICS file they can add to their own calendar.
  • Self-cancellation. Clients can cancel their own booking from the confirmation email — no login, no support ticket.
  • Full styling control. Colours, fonts, border radius, max width, custom CSS — the widget matches your site’s design.
  • All data on your server. Booking records are stored in your WordPress database. Nobody else has access to your clients’ information.

What it requires: a Google Cloud project with the Google Calendar API enabled, and a Google service account. The setup takes about 15–20 minutes and only needs to be done once.

Cost: CalNative Booking is $39/year for one website. All features included, no add-ons.

Verdict: the best fit for WordPress site owners who use Google Calendar, work alone or as a small practice, and want a booking experience that feels like a natural part of their website rather than a bolt-on from a third party.

Side-by-side comparison

Google Calendar iframeSaaS tool (e.g. Calendly)WordPress plugin (CalNative)
Clients can book
Booking on your domain✓ (view only)✗ — on their domain
Creates Google Calendar events
Real-time availability from Google✓ (display only)
Confirmation emails + ICS
Custom branding / stylingLimited✓ — full control
Self-cancellation for clients
Data on your serverN/A✗ — third-party servers
Team / multi-host scheduling
Monthly feeNone$10–20/seat/monthNone
Annual costFree$120–240+/year$39/year

Which option is right for you?

Choose the iframe if you only need to show your calendar publicly — for example, a shared team calendar that clients can check for reference. Do not use it if you want clients to actually book.

Choose a SaaS tool if you need team or round-robin scheduling, deep CRM integrations, or you don’t have a WordPress site and just need a booking link to share. Be comfortable sending clients off your website and paying a monthly fee.

Choose a WordPress plugin if you have a WordPress site, use Google Calendar, and want the booking experience embedded on your own domain with your own branding — without a monthly subscription. At $39/year, CalNative Booking costs less than four months of Calendly Standard.

Setting up a WordPress plugin vs a SaaS tool

One objection to the plugin approach is setup complexity. A SaaS tool takes five minutes to configure. A WordPress plugin with Google Calendar API integration takes longer — primarily because you need to create a Google service account.

That setup, done once, takes about 15–20 minutes:

  • Create a project in Google Cloud Console
  • Enable the Google Calendar API
  • Create a service account and download the JSON key
  • Share your calendar with the service account email
  • Upload the JSON key to the plugin settings

After that, the integration is maintenance-free — no token renewals, no reconnections, no account to log into. The time cost is a one-off investment that pays itself back in the first month compared to a SaaS subscription.

Back to Blog