Google Calendar Not Syncing With iPhone: How to Diagnose and Fix It

By Rida F'kih · August 16, 2026 · Updated August 29, 2026

Summary

If the Google event is on calendar.google.com and missing in iPhone Calendar, check the hide-toggles first: the per-account "Calendars" switch, the Calendar app checkboxes, Fetch New Data, and Google's Calendar sync page. If those were off, turn them on and stop. If two separate calendars must carry the hours as real events — work Google onto personal Google, Google onto signed-in iCloud, or the reverse — connect them in Keeper.sh and send busy-block copies. iOS overlay cannot write that copy.

The event already exists at calendar.google.com and is missing or late in the built-in iPhone Calendar app, with the Google account already listed under Settings → Apps → Calendar → Calendar Accounts. If the Google account is not on the phone yet, see /blog/how-to-add-google-calendar-to-iphone and stop. If the issue is same-account iCloud off, hidden, or On My iPhone, see /blog/apple-calendar-not-syncing. If the leftover job is copying Apple hours onto Google, see /blog/how-to-sync-apple-calendar-to-google-calendar. If you are sharing an iPhone calendar with a colleague off iCloud, see /blog/how-to-share-iphone-calendar.

The "Calendars" toggle, the in-app checkboxes, Fetch New Data, and Google's Calendar sync page only decide whether this Google account's calendars appear on this phone. A subscribed ICS is pull-only. None of them write a busy block onto another calendar.

Keeper.sh writes private copies — a placeholder title taken from the source calendar — onto the calendar that stays empty. Signed-in iCloud is a valid destination, same as Google and Outlook. Busy-block copies both ways means two mappings (A→B and B→A). Connecting calendars copies nothing by itself.

The sections below show why the hide-toggles, Fetch, Google's Calendar sync page, overlay, and a subscribed ICS fail the leftover job, followed by the numbered Keeper.sh setup.

The Calendars toggle is hiding the calendar, not breaking Google

A meeting accepted on the web sits on calendar.google.com. iPhone Calendar is empty for that hour, or the primary Google calendar still shows and a secondary or shared calendar is missing. That secondary gap is Google Calendar not showing on iPhone, not a dead Google account.

This is a common hide-toggle problem. In the Apple Community thread iPhone Calendar not syncing with Google Calendarhttps://discussions.apple.com/thread/256194126 (posted 21 Nov 2025; closed; Me too (4); 1 reply) — JazzNJoy wrote: “Calendar is not syncing with my Google calendar. I reviewed previous answers to this question, and this path isn't available on my iPhone:Settings > Passwords & Accounts.” A reply from azaksalmarzur28 on 9 Dec 2025 pointed straight to the toggle: “Settings → Mail → Accounts → Google → turn ON Calendars” then “Calendar app → Calendars → check all boxes.”

In another Apple Community thread, Only SOME Google calendars are showing up on my Apple Calendar apphttps://discussions.apple.com/thread/256170241 (posted 21 Oct 2025; closed; Me too (2)) — abyz145 said: “I have various Google calendars set up with friends and family, and suddenly one specific calendar is no longer appearing on my Apple Calendar app, but other calendars under that account are appearing/syncing.” In a self-reply the same day, they noted the Google Calendar sync page: “Check or uncheck the names of any calendars… click Save.”

The first place to look is Settings → Apps → Calendar → Calendar Accounts → tap the Google account → "Calendars". Then open the Calendar app and tap "Calendars" at the bottom to see the checkbox list.

Apple documents the path this way:

“Go to the Settings app on your iPhone.” “Tap Apps, then tap Calendar.” “Tap Calendar Accounts, then tap Add Account.” “Tap a service (iCloud, Microsoft Exchange, or Google, for example), then sign in.”

That page is for adding the account; for this troubleshoot, the account already sits on the same screen. Source: Apple, Change your Calendar settings on iPhone, iOS 26, fetched 29 Aug 2026.

Google's existing-account sentence is the hide-toggle:

“You can sync Google Calendar with the Calendar app that comes on your iPhone or iPad.” “To sync with an existing account, tap the account and turn on Calendars.”

Source: Google, Add Google Calendar events to Apple Calendar, fetched 29 Aug 2026.

The second hide is in the Calendar app itself:

“Open the Calendar app and tap the Calendars button. Make sure that all iCloud calendars are selected.”

Google calendars appear under the Google account heading on that same list. Source: Apple, If your iCloud Contacts, Calendars, or Reminders won't sync, published 4 Apr 2026, fetched 29 Aug 2026.

Apple also says:

“Select the calendars you want to view.”

Source: Apple, Set up multiple calendars on iPhone, iOS 26, fetched 29 Aug 2026.

One more native check on the same screen is Sync:

“Tap Settings, tap Apps, then tap Calendar. In iOS 17 or earlier, tap Settings, then tap Calendar. Tap Sync. If All Events is selected, choose a specific timeframe instead, like Events 1 Month Back. If a specific timeframe is selected, choose All Events instead.”

Source: Apple, If your iCloud Contacts, Calendars, or Reminders won't sync, fetched 29 Aug 2026.

A related native fix is a Google password change. Google Workspace says:

“OAuth 2.0 tokens issued for access to certain products are automatically revoked when a user's password is changed.” “users who use the native mail application on iOS will now have to re-authenticate with their Google account credentials when their password has been changed.”

Source: Google Workspace, Automatic OAuth 2.0 token revocation upon password change, fetched 29 Aug 2026.

If that happened, go to Settings → Apps → Calendar → Calendar Accounts → the Google account and sign in again, or remove and re-add the account.

If "Calendars" is off for the Google account, or the calendar is unchecked in the app list, iPhone Calendar is hiding it. That is not a broken Google connection. If that was the whole job, stop. Keeper.sh does not belong on a toggle that was off.

Fetch New Data can make Google events look missing

The next place to check is Settings → Apps → Calendar → Calendar Accounts → "Fetch New Data". Under Fetch, choose a schedule.

Apple says:

“If you add an account that doesn't support Push notifications, you can set a Fetch schedule for updating your calendar from the account. Go to Settings> Apps > Calendar. Tap Calendar Accounts, then tap Fetch New Data. Under Fetch, choose a schedule. If you choose Automatically, new data is downloaded when your iPhone is charging and connected to Wi-Fi.”

Source: Apple, Change your Calendar settings on iPhone, fetched 29 Aug 2026.

On the Mail side of the same setting family:

“By default, Fetch New Data settings are based on what's provided by your email service. If Push isn't available as a setting, your account will default to Fetch.” “With iOS 11 and later, and iPadOS, Automatically is set by default. Your device will fetch new data in the background only when your device is charging and connected to Wi-Fi.”

Source: Apple, If you can't receive email on your iPhone or iPad, published 28 May 2026, fetched 29 Aug 2026.

Apple does not publish whether a Google Calendar account on iOS supports Push, the minute values on the Fetch schedule menu, or how many minutes a Google event takes to reach iPhone Calendar.

Low Power Mode can also delay background activity:

“When the battery level gets low, Low Power Mode reduces background activity on iPhones and iPads to extend battery life.” “Email fetch: turned off” “Background app refresh: turned off”

Source: Apple, Use Low Power Mode, published 3 Dec 2025, fetched 29 Aug 2026. Path: Settings → Battery → Low Power Mode (iPhone 15+: Battery → Power Mode).

Google's Mac instructions mention a refresh control, but publish no interval:

“On the Accounts tab, use "Refresh Calendars" to choose how often you want Apple Calendar and Google Calendar to sync.”

Source: Google, Add Google Calendar events to Apple Calendar, fetched 29 Aug 2026. That sentence is for Mac Calendar, not iPhone Fetch.

Fetch New Data (and Automatically only while charging + Wi-Fi) can make Google Calendar not updating on iPhone look like a broken link when the event is only late. Apple does not publish the interval. A calendar that never appears is the hide-toggles, not this screen.

Google's Calendar sync page decides which calendars reach the iPhone

On a computer, signed into that Google account, visit https://www.google.com/calendar/syncselect.

Google says:

“On your computer, visit the Calendar sync page.” “Check or uncheck the names of any calendars.” “In the bottom right corner, click Save.” “When you're done, refresh your calendar.” “Which calendars are automatically synced” — “Any calendars that you find under "My Calendars" in Google Calendar on your computer” and “Birthdays.”

Source: Google, Add Google Calendar events to Apple Calendar, fetched 29 Aug 2026.

A shared or secondary calendar unticked here never reaches Apple Calendar, no matter what iOS toggles are on.

Google also notes:

“If you add an event to a calendar that's not associated with your Google Account, it might not show up in the Calendar app or on calendar.google.com.”

Source: Google, Fix sync problems with the Google Calendar app, fetched 29 Aug 2026.

That page is the Google Calendar app, not iPhone Calendar. Google’s first line:

“To find your Google Calendar events in a different calendar application, like Apple Calendar or Outlook, the instructions for syncing are different.”

The same page carries a past-event limit for that app, not for Apple Calendar:

“The Calendar app only syncs past events up to one year. To find past events beyond a year, go to calendar.google.com.”

Source: Google, Fix sync problems with the Google Calendar app, fetched 29 Aug 2026.

An unticked row on the Calendar sync page looks identical to Google Calendar not syncing with iPhone. The phone is not failing; Google is not offering that calendar to the device. If ticking it was the whole job, stop.

Overlay and a subscribed ICS are not a copy onto another account

This is the leftover job. iOS Calendar Accounts can show a second Google account if you add it, but it cannot copy events from work Google into personal Google, or from Google into signed-in iCloud. There is no Settings toggle that writes account A's events into account B.

Google explains the two native views:

“There are two ways to view Google Calendar in another calendar application.” “With some calendar applications, you can sync your calendar using your Google Account. This means you can add and edit events from either Google Calendar or your other application.” “If your calendar application doesn't have a full sync option, or if you want a read-only view of one calendar, you can sync your calendar to the application using a link to iCal.” “In the "Secret address in iCal format" section, copy the link.” “The Secret Address lets you view your calendar in other applications, like Outlook or Apple Calendar.” “Important: Only you should know the Secret Address for your calendar. Do not share this address with other people.”

Source: Google, Sync your calendar with computer programs, fetched 29 Aug 2026.

If Calendar Accounts lists the calendar under Subscribed Calendars as a URL with no Google sign-in, it is an ICS subscribe, not an account:

“Subscribe to an external, read-only calendar: Tap Add Subscription Calendar, enter the URL of the .ics file you want to subscribe to (and any other required server information), then tap Find.” “You can also subscribe to an iCalendar (.ics) calendar by tapping a link to it.”

Source: Apple, Set up multiple calendars on iPhone, iOS 26, fetched 29 Aug 2026.

Subscribed calendars stay read-only:

“The events shown in a subscription calendar are controlled by the provider. You can't edit calendars you are subscribed to (for example, the Holidays calendar).” “Click the Auto-refresh pop-up menu, then choose how often to update the calendar.”

Source: Apple, Subscribe to calendars on Mac, macOS Tahoe 26, fetched 29 Aug 2026.

Neither Apple nor Google publish Auto-refresh interval numbers for the Secret Address / From URL feed.

A pasted share / ICS / subscribe link is pull-only in Keeper.sh — never a destination. (/docs/accounts-and-calendars: “A calendar subscribed from a link is read-only, so it can send events but never receive them.”)

Adding a second account or ticking "Calendars" only overlays this phone. A subscribed Google calendar stays as fresh as the subscriber's next refresh. No iPhone setting writes account A into account B. That leftover job is a Keeper.sh connection.

Put busy-block copies on the other calendar with Keeper.sh

You need a Keeper.sh account. Connecting copies nothing by itself. (/docs/accounts-and-calendars: “Connecting copies nothing by itself. Events only move once you send them to another calendar.”)

If the destination or source is iCloud, you need an Apple app-specific password. Apple says:

“App-specific passwords allow you to sign in to your Apple Account in apps made by developers other than Apple.” “To generate and use app-specific passwords, your Apple Account must be protected with two-factor authentication.” “Sign in to your Apple Account on account.apple.com.” “In the Sign-In and Security section, select App-Specific Passwords.” “Select Generate an app-specific password, then follow the steps on your screen.” “Enter or paste the app-specific password into the password field of the app when signing in to your Apple Account.” “After you revoke a password, the app using that password will be signed out of your account until you generate a new password and sign in again.” “Any time you change or reset your primary Apple Account password, all of your app-specific passwords are revoked automatically to protect the security of your account. You need to generate new app-specific passwords for any apps that you want to continue using.”

Source: Apple, Sign in to apps with your Apple Account using app-specific passwords, published 8 Oct 2025, fetched 29 Aug 2026.

Keeper.sh /docs/accounts-and-calendars says: “iCloud and Fastmail — an app-specific password, made in their settings.” If a working Keeper.sh iCloud connection later goes quiet after an Apple password change, generate a new app-specific password and paste it into Connect Apple Calendar. This is Apple's behavior, not a Keeper.sh defect.

  1. Sign in to Keeper.sh. Connect the Google account that holds the events (Google's permission screen). If the empty calendar is iCloud, connect that Apple ID with an app-specific password. Click-by-click: /docs/accounts-and-calendars. One Apple ID. That signed-in iCloud calendar can send and receive. Connecting copies nothing.
  2. Open the source calendar — the Google calendar that is full on the web. Under "Send Events to Calendars", tick the destination: the calendar that stays empty (another Google calendar, or signed-in iCloud). One tick is one mapping. (/docs/sending-events-to-another-calendar: “Each calendar you tick becomes one connection. Events are copied into it, one way, and the copies are kept corrected as the originals change.”)
  3. If you need the other direction too, open the other calendar's page and tick back. That is two mappings (A→B and B→A), the same shape as Google and Outlook. One Apple ID — not two Apple IDs. Free is 2 accounts and 3 connections, so a pair plus one extra still fits.
  4. Leave the privacy defaults. Copies use a placeholder title from the source calendar; description and location stay hidden. Those toggles are Pro. Guest lists are never copied. See /docs/what-a-copied-event-shows.
  5. Confirm on the destination: a real event, named after the source calendar, no notes, no location, no guest list. Open iPhone Calendar on that destination calendar. Wait for the next write. Google on Pro can land within seconds. iCloud stays on the timer on both plans.

Busy-block copies both ways means two mappings. A new event still lands on the calendar that owns it.

If nothing arrives, see /guides/event-has-not-arrived. If you see two of something, see /guides/same-event-appears-twice. Untick stops new copies; already-copied events stay (/docs/sending-events-to-another-calendar: “Untick the calendar in Send Events to Calendars and new events stop being copied. Events already copied stay where they are.”). A pasted share / ICS / subscribe link is not a destination. If you connected a URL instead of signing in, you can send from it, not into it. For a stale subscribe, see /guides/subscribed-calendar-out-of-date.

Cadence and price:

  • Sources are read every minute on every plan.
  • Free destinations write every 30 minutes.
  • Pro writes every minute, and Google Calendar and Outlook notify Keeper.sh so a copy can land within seconds. (/docs/plans-and-limits: “On Pro, Google Calendar and Outlook notify Keeper.sh the moment an event changes, so the copy lands within seconds.”)
  • iCloud stays on the timer on both plans (/docs/plans-and-limits: “iCloud, Fastmail and other CalDAV calendars are checked on a timer on either plan, because Apple publishes no way for a calendar tool to be told an event changed.”)
  • Free: 2 accounts, 3 connections, 1 shareable link, 25 MCP/API calls a day.
  • Pro: $5/month or $45/year. (/docs/plans-and-limits: “Pro is $5 a month, or $45 a year paid annually.”)
  • Guest lists are never copied, on any plan.

Why a Keeper.sh copy instead of a toggle or a subscription

  1. The "Calendars" toggle, Fetch New Data, and Google's Calendar sync page only decide whether this Google account appears on this phone — a Keeper.sh connection writes a private copy onto the calendar that stayed empty.
  2. Overlay or a second Calendar Account only stacks a view on this phone — copies exist as real events on the destination (placeholder title; description and location hidden).
  3. A subscribed ICS is pull-only and as stale as the next refresh — copies keep correcting. Google Calendar notifies Keeper.sh on Pro so a Google change can land while the phone is away; iCloud stays on the timer because Apple publishes no push.
Can Keeper.sh use cookies for analytics?