Comparisons

How to Add Google Calendar to WordPress: Iframe vs Plugin (2026 Comparison)

There are two very different things people mean when they say "add Google Calendar to WordPress" — displaying calendar events on a page, and letting visitors book appointments into your calendar. The right tool depends entirely on which one you need.

23 June 2026  ·  7 min read
How to Add Google Calendar to WordPress: Iframe vs Plugin (2026 Comparison)

When people search for how to add Google Calendar to WordPress, they usually mean one of two quite different things. Some want to display their Google Calendar events on a page — showing a monthly grid of upcoming events, classes, or availability for visitors to browse. Others want to let visitors book appointments that get added directly to their Google Calendar — a booking widget where someone picks a slot and a calendar event is created automatically.

These are different problems and they need different tools. A plugin built for displaying events will not let visitors book appointments. A booking plugin is not designed to show a public events calendar. Choosing the wrong one means a frustrating setup experience and a result that does not do what you actually needed.

This guide covers both use cases: the free iframe embed, the main display plugins, the main booking plugins, and how to decide which approach is right for your situation.

What this guide covers

  • The iframe embed — free, instant, limited
  • Display plugins: Simple Calendar, Styled Calendar
  • Booking plugins: Simply Schedule Appointments, CalNative Booking
  • Side-by-side comparison table
  • How to choose the right approach for your use case

The two use cases — display vs booking

Before evaluating options, it helps to be precise about which problem you are solving.

Display: You want to show Google Calendar events on a WordPress page. Visitors can see upcoming events, classes, appointments, or availability — but they cannot interact with the calendar or book anything through it. Common for community organisations, venues, yoga studios showing class schedules, or anyone who wants a public events view embedded in their site.

Booking: You want visitors to select an available time slot and book an appointment. The booking creates a Google Calendar event automatically. Common for consultants, therapists, coaches, tutors, and any solo service provider who wants clients to self-schedule. The visitor never sees your full calendar — they only see your available slots.

Both use Google Calendar as the data source. But the direction of data flow is opposite: display plugins read events FROM your calendar and show them to visitors; booking plugins show available slots TO visitors and write new events INTO your calendar when a booking is made.

Method 1: The iframe embed (free, no plugin required)

Google Calendar has a built-in embed feature that generates an HTML iframe you can paste directly into any WordPress page. This is the fastest way to display a calendar on your site — no plugin installation required.

How to set it up:

  1. Open Google Calendar and click the three-dot menu next to the calendar you want to embed
  2. Choose Settings and sharing
  3. Under Access permissions, check Make available to public (the calendar must be public to embed)
  4. Scroll to Integrate calendar and copy the embed code shown there
  5. In WordPress, add a Custom HTML block to your page and paste the code

What you get: A Google Calendar view embedded in your page — monthly, weekly, or agenda layout, showing whatever events are on your public calendar.

The limitations:

  • The calendar uses Google’s default styling — it will not match your theme’s fonts, colours, or design
  • It renders poorly on mobile — the iframe has a fixed width and does not reflow for small screens
  • The calendar must be set to public — you cannot embed a private calendar this way
  • Visitors can view events but cannot book or interact with the calendar in any way

The iframe embed is the right choice if you need a quick calendar display and mobile responsiveness and design matching are not priorities. For anything more polished, a plugin handles it better.

Display plugins: showing Google Calendar events on WordPress

Simple Calendar

Simple Calendar (formerly Google Calendar Events) is the most widely used plugin for displaying Google Calendar events on WordPress. It pulls events from any public Google Calendar and renders them in a responsive monthly grid or list view that inherits your theme’s design.

Setup requires a Google API key — a straightforward process in Google Cloud Console that takes about ten minutes. Once connected, the calendar updates automatically as events are added or changed in Google Calendar.

  • Best for: organisations, venues, community groups wanting a themed, mobile-friendly events calendar
  • Price: free for basic features; paid plans from $99/year for advanced views and private calendar access
  • Booking: not supported — display only

Styled Calendar

Styled Calendar is a newer option focused on visual customisation. It connects via a simple authorisation window rather than a manual API key setup, and offers extensive styling controls — over 80 customisation options — for adapting the calendar view to match a specific brand or design system.

  • Best for: brands that need the embedded calendar to match their site closely without custom CSS
  • Price: free plan available; paid plans from $9/month
  • Booking: not supported — display only

Booking plugins: letting visitors schedule appointments into Google Calendar

Simply Schedule Appointments

Simply Schedule Appointments is a capable WordPress booking plugin with a Calendly-style interface. Visitors select an appointment type, choose a time, and fill in a form — the booking is written to both the plugin’s database and Google Calendar via OAuth sync.

It supports multiple appointment types, team scheduling, and payment collection through WooCommerce or Stripe. The Google Calendar sync uses OAuth, which means the connection can occasionally require reconnection when tokens expire.

  • Best for: businesses needing multiple appointment types, team scheduling, or payment at booking
  • Price: free basic version; paid plans from $99/year
  • Google Calendar connection: OAuth sync — connection can expire and require reconnection

CalNative Booking

CalNative Booking is a WordPress plugin built specifically for solo service providers — consultants, therapists, coaches, tutors — who use Google Calendar as their primary calendar and want clients to book appointments directly on their WordPress site.

The key technical difference from other booking plugins is how it connects to Google Calendar. Rather than OAuth, it uses a service account — a permanent server-to-server credential that never expires and never requires reconnection. The plugin reads your calendar’s free/busy data in real time on every page load: no sync, no cached availability, no delay between a calendar change and the booking widget reflecting it.

When a visitor confirms a booking, a Google Calendar event is created immediately with their name, contact details, and any notes they added in the form description. The visitor receives a confirmation email with an ICS file and a cancellation link. A Google Meet link can be generated automatically for online sessions.

The booking widget is embedded on any WordPress page with a single shortcode and sits within the site’s own design — inside the header, footer, and theme styles. Visitors never leave the domain to complete a booking.

  • Best for: solo practitioners wanting embedded booking connected live to Google Calendar, with no redirect to a third-party platform
  • Price: $39/year for one site
  • Google Calendar connection: service account API — permanent, never expires, real-time free/busy read

Full comparison

Iframe embedSimple CalendarStyled CalendarSimply Schedule ApptsCalNative Booking
Use caseDisplayDisplayDisplayBookingBooking
Visitors can book
Shows calendar events
Mobile responsive
Matches your themePartiallyPartially✓ — full CSS control
GCal connection typePublic embedAPI keyOAuthOAuth syncService account API
Real-time availabilityN/AN/AN/APartially✓ — every page load
Connection can expireNoNoOccasionallyYes — OAuthNever
Creates GCal events on booking
Confirmation email + ICS
Google Meet link generation
Self-cancellation link
Stays on your domain
Multi-staff / team scheduling✓ (paid)
Payment at booking✓ (paid)
PriceFreeFree / $99+/yrFree / $9+/moFree / $99+/yr$39/yr

How to choose

Use the iframe embed if: you just need a calendar visible on a page, speed of setup is the priority, and design matching and mobile responsiveness are not concerns. Takes five minutes.

Use Simple Calendar or Styled Calendar if: you want to display Google Calendar events on your site in a mobile-responsive, themed format. You are not looking for booking — just a better-looking events calendar. Simple Calendar is the more established option; Styled Calendar if extensive visual customisation matters.

Use Simply Schedule Appointments if: you need multiple appointment types, team/round-robin scheduling, or payment collection at the point of booking. It is the more feature-complete booking plugin for businesses with those requirements.

Use CalNative Booking if: you are a solo practitioner — consultant, therapist, coach, tutor, designer — who uses Google Calendar and wants clients to book 1:1 appointments directly on your WordPress site. The service account connection never expires, availability is read from your calendar in real time, and the booking widget sits inside your own site design. At $39/year it is also the most affordable paid booking option in this comparison.

Back to Blog