Back to Blog
How to Embed Google Calendar in Your Website
Google gives you an iframe. You paste it into your site and, technically, it works. It also looks exactly like someone dropped a tab from Google Calendar into the middle of a page you designed. The colors are wrong, the branding is Google's, and visitors get zero way to subscribe to future events.
Written by
There's a better path. This guide walks through how to connect your Google Calendar to CalGet, then embed a clean, branded calendar widget on any website. Your events stay in sync automatically. Visitors can browse your schedule and subscribe with one click. The whole setup takes under ten minutes.
Why Google's Default Calendar Embed Falls Short
The native Google embed pulls your calendar directly into your page. It shows your events, it updates when you update Google Calendar, and it's free. That's where the good news ends.
You can't change the colors to match your brand. You can't remove Google's UI from the widget. There's no "subscribe to this calendar" button for visitors. For a personal project or an internal company page, that's fine. For any website where presentation matters, it's a frustrating limitation.
CalGet's Embeddable Calendar solves this. You sync your Google Calendar to CalGet once, customize the widget to match your site, and embed it. Changes you make in Google Calendar flow through to your website automatically.
What You'll Need Before You Start
Three things:
- A Google Calendar set to public, or one you can share via a private iCal link
- A CalGet account on the Standard or Professional plan (External Calendar Sync is not available on the Free or Starter plan)
- Access to your website's HTML or embed settings
The process works on WordPress, Wix, Squarespace, Shopify, Framer, Kajabi, and any other platform that lets you paste embed code. If your site accepts HTML, you're set.
Step 1: Get Your Google Calendar's iCal Feed URL
CalGet connects to your Google Calendar by reading its iCal feed — a URL ending in .ics that gives CalGet a live view of your events.
Here's how to find it:
- Open Google Calendar and click the gear icon in the top right to open Settings
- In the left sidebar, click on the name of the calendar you want to embed
- Scroll to the Integrate calendar section
- Copy the Public address in iCal format
If your calendar is private, Google also provides a Secret address in iCal format. It works the same way for syncing — treat it like a password and don't post it publicly.
One thing to check first: the public iCal URL is only available if your calendar's visibility is set to public. If the field is greyed out, go to Settings > Calendar settings > Access permissions and check "Make available to public."
Step 2: Connect Your Google Calendar to CalGet
Log in to your CalGet account and go to Calendars in the left sidebar.
Open an existing CalGet calendar or create a new one. Inside the calendar, click the External Calendars tab. Click Add External Calendar, paste the iCal URL, and click Sync Calendar.
CalGet will detect the timezone from your feed automatically. If it can't find one, you'll get a prompt to choose manually. Get this right — all imported events display using whichever timezone is set here. If it doesn't match your Google Calendar's timezone, your event times will be off.
Within a few seconds your events will appear. CalGet syncs with your Google Calendar every 12 hours automatically. If you update an event in Google and need the change on your website immediately, the manual sync button in the dashboard pulls the latest version on demand.
Imported events are read-only inside CalGet. Edits need to happen in Google Calendar. CalGet reflects whatever is in the feed; it doesn't replace Google Calendar as the source of truth.
Step 3: Customize the Embeddable Calendar Widget
Go to the Embeddable Calendar section of your CalGet dashboard and select the calendar containing your imported Google events.
You'll see controls for colors, layout, and which event details display. Match the widget's colors to your website's palette. Visitors can toggle between weekly and monthly views on the live widget. When the widget looks right, copy the embed code. It's a short HTML snippet.
If you'd rather see this step than read it, the embeddable calendar walkthrough on YouTube covers the full customization process in under two minutes.
Step 4: Paste the Embed Code Into Your Website
Paste the snippet wherever you want the calendar to appear.
In WordPress, it goes into an HTML block in the block editor. On Squarespace, use a Code block. On Webflow, use an Embed element. If you're on WordPress and prefer not to touch code at all, CalGet has a dedicated WordPress embed guide that covers the plugin-based workflow.
Once the code is in place, your Google Calendar events appear on your website in a branded widget that updates as you manage events in Google.
Embed a live event calendar on your site today: calget.com/embeddable-calendar
The Step Most Organizers Skip
Embedding the calendar on your website is half the job. The other half is giving visitors a way to follow your future events without checking your website manually.
When you share your CalGet calendar as a Subscription Calendar, visitors subscribe once and every event you add flows automatically into their personal Google, Apple, or Outlook calendar. They never miss something new because it appears in their calendar without them doing anything.
A yoga studio that runs weekly classes and adds monthly workshops is a good example of how this plays out. The embedded widget lets first-time visitors browse the full schedule. The subscription link is what keeps regulars informed after they leave the page. New workshop gets added to Google Calendar, syncs to CalGet, and lands in every subscriber's calendar — no email blast, no social post required.
The widget and the subscription link do different jobs. Use both.
What Happens When You Update an Event in Google
When you change an event in Google Calendar — update the time, change the location, cancel it — CalGet picks up the change on the next automatic sync, which runs every 12 hours. Your embedded widget will then show the updated information.
If the change is urgent, log into CalGet and use the manual sync button on the imported calendar. The update appears on your website within seconds.
Subscribers with your calendar in Google, Apple, or Outlook will see the change when their calendar app next checks for subscription updates — typically every few hours.
Common Mistakes to Avoid
Using a private calendar without the secret iCal link. If your Google Calendar is private, the public iCal URL won't work. Use the secret address and keep that URL out of public-facing locations.
Setting the wrong timezone on import. CalGet uses the timezone set at import to display all event times. If your Google Calendar is Eastern Time and you select Pacific in CalGet, every event displays three hours early.
Expecting immediate sync after a Google Calendar change. Automatic sync runs every 12 hours. For time-sensitive updates, use the manual sync button.
Embedding the calendar without adding the subscription link. The widget shows your schedule to visitors who are already on your site. The subscription link is what keeps them informed after they leave. Pair them.
Frequently Asked Questions
Can I embed a private Google Calendar with CalGet? Yes. Use the Secret address in iCal format from Google Calendar's integration settings instead of the public iCal URL. The sync works the same way. Keep the secret URL private — anyone who has it can view your calendar.
How often does CalGet sync with my Google Calendar? Automatically every 12 hours. For an immediate update, hit the manual sync button in your CalGet dashboard.
Can I edit imported events inside CalGet? No. Events imported from Google Calendar are view-only in CalGet. All edits need to happen in Google Calendar, and CalGet picks them up on the next sync.
Does the embed work on WordPress? Yes. Paste the embed code into an HTML block in the WordPress block editor. There's also a CalGet plugin for the block editor if you'd rather not work with raw HTML.
Can visitors subscribe to my calendar from the embedded widget? Yes, through CalGet's Subscription Calendar feature. Visitors click the subscribe link and all your events land in their personal Google, Apple, or Outlook calendar, staying updated as you add or change events.
What website builders does the CalGet embed work on? Any platform that accepts HTML: WordPress, Wix, Squarespace, Shopify, Framer, Kajabi, Webflow, and more. If your site has a custom HTML block or embed element, it'll work.
What to Do Next
Embed the widget, then add the subscription link next to it. One line of text is enough: "Subscribe to get every new event in your calendar automatically." That combination, the widget for discovery and the subscription link for retention, is what actually drives attendance.
Embed a live calendar on your site today: calget.com/embeddable-calendar
External Calendar Sync is available on the Standard plan ($21/mo billed annually) and Professional plan. See full plan details at calget.com/pricing.
Further reading:
Get Your Events on Everyone's Calendar.
Generate universal "Add to Calendar" links that work everywhere. Perfect for social media, emails, and websites.