1. Home
  2. Knowledge Base
  3. Bookings for WooCommerce
  4. How to sync your Google Calendar with Bookings for WooCommerce
  1. Home
  2. Knowledge Base
  3. Third-Party Services
  4. How to sync your Google Calendar with Bookings for WooCommerce

How to sync your Google Calendar with Bookings for WooCommerce

Bookings for WooCommerce can automatically create and delete Google Calendar events when bookings are made, cancelled, or removed. You can manage all your bookable products in a single calendar – or you can allocate different calendars to different products. Whatever way you choose, you can always keep your Google Calendar synced with your WooCommerce bookings.

How it works

  • When a customer places an order, a calendar event is created with the booking dates, customer name, email, and phone number
  • When an order is cancelled or refunded, the event is deleted
  • When a booking is manually cancelled from the booking edit screen, the event is deleted
  • When a booking is trashed or permanently deleted, the event is deleted
  • Manual bookings created from the WP admin are also pushed to the calendar

Google Calendar set up

First, let’s take a look at how to set up your Google Calendar. This step might take a few minutes but once it’s done, you shouldn’t need to touch it again.

Step 1: Create a Google Cloud project

  1. Go to console.cloud.google.com and sign in with the Google account that owns the calendar you want events added to
  2. Click Select a project → New Project (top left of the screen), give it a name (e.g. “My Store Bookings”), click Create
  3. Go to APIs & Services → Library, search for Google Calendar API, click it, then click Enable
Google Cloud new project settings
Google Cloud APIs and services menu
Search for Google Calendar API
  1. Go to APIs & Services → OAuth consent screen and click Get started
  2. Fill in the App name, User support email, and Developer contact email
  3. Select External in Audience
  4. Click Create
OAuth consent screen in Google Cloud
Project configuration in Google Cloud

Step 3: Create OAuth credentials

  1. From the previous screen, click Create OAuth client or go to APIs & Services → Credentials → Create Credentials → OAuth client ID
  2. Set Application type to Web application
  3. Under Authorised redirect URIs, click Add URI and paste the redirect URI shown on the Bookings → External settings page
  4. Click Create, then copy the Client ID and Client Secret shown in the popup. You can also find these credentials on the Clients menu
Button to create OAuth client
Settings in Booking for WooCommerce external tab
OAuth Client ID screen
Client ID and client secret keys

Step 4: Connect in WordPress

  1. Go to Bookings → External in your WordPress admin
  2. Scroll down to the Google Calendar section
  3. Paste your Client ID and Client Secret into the fields, set the Default calendar ID (use primary for your main calendar), and click Save credentials
  4. Click Connect to Google Calendar
  5. If Google shows an “unverified app” warning, click Advanced → Go to (app name) → Proceed — this is expected for apps that have not been through Google’s formal verification process
  6. Approve the calendar access request and click Allow
  7. You will be redirected back to the settings page with a “Connected” confirmation
Client ID and client secret key settings in Bookings for WooCommerce

Settings

SettingDescription
Client IDThe OAuth 2.0 client ID from Google Cloud Console
Client SecretThe OAuth 2.0 client secret. Stored securely; leave blank to keep the existing value
Default calendar IDThe Google Calendar to write events to. Use primary for the account’s main calendar, or paste a specific calendar ID. Can be overridden per product

Per-product calendar

Each bookable product can send events to a different Google Calendar.

  1. Edit the product and go to the External tab
  2. Enter a Calendar ID in the Google Calendar field
  3. Leave it blank to use the default calendar set on the External settings page

To find a calendar ID: in Google Calendar, open the calendar’s settings and look under Integrate calendar for the Calendar ID (it looks like [email protected] for secondary calendars, or primary for the main one).

Sync individual calendars to different products

Event details

Each calendar event includes:

  • Title — product name and customer name, e.g. “Studio Hire – Jane Smith”
  • Date/time — all-day or multi-day for day-based bookings; timed event for slot bookings
  • Description — booking ID, order ID, customer name, email, phone, and a link to the booking in the WP admin

Cancellation

Events are removed from Google Calendar automatically when:

  • The associated WooCommerce order is cancelled or refunded
  • The booking is manually cancelled using the Cancel booking button on the booking edit screen
  • The booking post is moved to trash or permanently deleted

Notes

  • Google access tokens expire after one hour. The plugin automatically refreshes them using the stored refresh token — no manual action is required
  • Each store must create its own Google Cloud project and OAuth credentials. There is no shared app
  • The integration requires the site to be accessible on a public domain. It cannot be set up on a local development site as Google does not accept local domains as redirect URIs
  • The “unverified app” warning appears because the OAuth app has not been submitted to Google for verification. For a private store connecting its own calendar, this is expected and safe to proceed through

Was this article helpful?

Related Articles