Streamlining Google Login on Shopify Grow: Can You Skip the Authentication Page?

Hey there, fellow store owners!

As someone deeply immersed in the Shopify ecosystem and constantly chatting with merchants like you, I often see amazing ideas for enhancing the customer experience. One common area where store owners want to get creative is the login process. We all want it to be as smooth and frictionless as possible, right?

Recently, a really insightful discussion popped up in the Shopify community that perfectly illustrates this ambition. Our friend @vedicspoons101, running a store on the Shopify Grow plan (with new customer accounts enabled), had a brilliant custom OTP (One-Time Password) login flow. Their setup was quite neat:

  1. Customer enters their phone number.
  2. MSG91 sends an OTP.
  3. Their Vercel backend verifies the OTP.
  4. The backend looks up the customer by phone, returns their email + detects if it's a Gmail account.

Now, here's where the challenge came in: For those Gmail customers, vedicspoons101 wanted to skip Shopify’s login page entirely and log them in directly via Google OAuth. The goal was to provide an incredibly seamless "one-tap" like experience after the OTP verification, bypassing any extra screens.

The Quest for a Direct Google OAuth Login

Vedicspoons101 wasn't just wishing; they'd actually tried a few clever approaches, which I really appreciate seeing in the community! They explored:

  • Redirecting to /customer_authentication/login?email=xxx, hoping it would auto-login, but it just showed the standard login page.
  • Using a Google OAuth URL extracted from Shopify's login page HTML (like account.vedicspoons.com/authentication/social/google?authorize_uri=...). This sometimes worked, but often resulted in a "login error" because the buyer_flags token would expire. Classic token expiry headache, right?
  • Attempting to fetch the login page server-side to get a fresh URL, only to be met with a 403 (Forbidden) error.
  • Even trying client-side fetching, but the page was JavaScript-rendered, meaning the crucial Google URL wasn't in the initial raw HTML.

The core question was clear: Is there any way to programmatically trigger Google OAuth login on a Shopify Grow plan without showing that intermediate login page? Specifically, was there a stable Google OAuth endpoint URL for new customer accounts that didn’t use expiring tokens?

Unpacking the Expert Responses: Why It's Not So Simple

This is where the collective wisdom of the Shopify community really shines. Two other experts, @Wsp and @Subhan_Tariq, weighed in with some crucial insights that every store owner thinking about deep login customizations should understand.

Shopify's Security-First Approach

The first, and perhaps most important, takeaway is that Shopify does not allow direct triggering of Google OAuth or bypassing its authentication screen. Wsp explicitly stated this, emphasizing that the login flow is entirely "session based and controlled by Shopify for security reasons." This isn't just a technical hurdle; it's a fundamental security principle. Shopify needs to maintain control over the authentication process to protect both merchants and customers from potential vulnerabilities.

Subhan_Tariq echoed this, explaining that "the Google login flow is controlled by Shopify, and the social login URL uses temporary/session-based parameters for security." This is precisely why vedicspoons101's attempts to extract and reuse those Google OAuth URLs often failed with expired tokens. Those URLs are designed to be short-lived and tied to a specific session, preventing malicious actors from hijacking login attempts.

Grow Plan Limitations vs. Shopify Plus

Another key point that came out of the discussion is the difference in capabilities across Shopify plans. Subhan_Tariq made it clear: "I don’t think this is possible on the Shopify Grow plan." While custom pre-authentication steps (like the OTP flow) are perfectly fine, the ability to "fully replace Shopify’s default sign-in experience with your own identity provider" is generally a Shopify Plus-level feature. This is a critical distinction for anyone considering advanced authentication customizations. On Grow, you work with Shopify's authentication, not around it.

The Supported Path: Integrating Your Custom Flow

So, what's the actionable advice here? If you're on a Shopify Grow plan and want to offer a custom pre-authentication step like an OTP flow, you absolutely can! The experts confirmed that your "current OTP flow can remain as a pre auth step."

However, the crucial next step is to then redirect the customer to Shopify’s normal customer login flow and let them choose Google there. As Wsp put it, "final login must go through Shopify’s authentication endpoint." This means:

  1. Your custom OTP (or other pre-auth) flow identifies the customer.
  2. Once verified on your end, you direct them to Shopify’s standard login page.
  3. On Shopify's login page, they will see the option to "Continue with Google" (or other social logins you've enabled).
  4. Shopify then handles the secure Google OAuth process and logs them in.

This approach respects Shopify's security architecture while still allowing you to add value and customization to the very beginning of the login journey. It might not be the direct "skip" vedicspoons101 was hoping for, but it's the stable, supported, and secure way to integrate these flows on a Grow plan.

It’s a great example of how we, as store owners, often push the boundaries of what’s possible, and how the community helps us understand the underlying architecture. While the immediate answer to "can I skip the login page directly for Google OAuth on Grow?" is a firm "no," understanding why that's the case and what the supported alternatives are is incredibly valuable. It helps us build robust and secure experiences for our customers without fighting against the platform's core design. Keep those creative ideas coming, and let's keep learning together!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases