Inconsistent display of the Google Pay (GPay) accelerated checkout button across devices, especially on iOS. Product pages sometimes show only Apple Pay, while the bag page shows Apple Pay, GPay, and standard checkout.
The merchant asked how to make GPay appear consistently and whether patterns can be identified via code or settings. Support previously said it depends on browser and device software.
Reply clarifies the behavior is algorithmic and adaptive at scale, so merchants can’t force GPay to appear on ineligible devices or for users unlikely to use it. It’s by design to optimize checkout.
Key factors influencing which dynamic checkout button shows:
Payment settings
Whether Shop Promise is active (prioritizes Shop Pay)
Customer’s browser
Customer’s device
Customer’s personal payment history
Outcome: No guaranteed way to ensure consistent GPay visibility or to map exact device patterns via code. Guidance is to rely on Shopify’s dynamic checkout logic and consult documentation on dynamic checkout and accelerated checkouts. Status: clarified, not a platform bug; request for consistency not actionable.
Summarized with AI on December 17.
AI used: gpt-5.
Hello, I have a question about the Gpay button. It appears inconsistently across different devices, particularly on iOS. For instance, the Gpay button displays on some iOS devices, but not on others. Another problem is that the devices the product detail page displays only apple pay without the Gpay button while the shopping bag page has all three button (Apple pay, Gpay and checkout) displayed. It seems to be inconsistent. I contacted the Help Center, and they informed me that this behavior depends on the browser version and the device’s software updates. This seems inconsistent and random, as we have no control over these factors.
Is there any way we can ensure that the Gpay button displays consistently across all devices?
Is there a way to identify patterns or specific devices that determine when the Gpay button appears? Is there a way to find it through coding or the website setting?