What this means for your store
Loyalty programs only pay off when you can compare members to guests. sign_up fires on account creation; login on a successful return visit. Both take method (email, google, apple). Set user_id at the same moment and add a user property like loyalty_tier for AOV and repeat-rate splits.
Scenario on a real storefront
GlowHaus, a US skincare DTC brand, offers "Join rewards - 10% off first order." After account creation and on each login, send auth events before the account dashboard loads:
// New loyalty account created
function onSignUpSuccess(customer) {
gtag('set', { user_id: customer.id });
gtag('set', 'user_properties', {
loyalty_tier: 'member',
loyalty_enrolled: 'yes',
});
gtag('event', 'sign_up', { method: customer.authProvider });
}
// Returning member logs in (once per session)
function onLoginSuccess(customer) {
gtag('set', { user_id: customer.id });
gtag('set', 'user_properties', { loyalty_tier: customer.tier });
gtag('event', 'login', { method: customer.authProvider });
}
// Do not fire login on every page view for logged-in users
What to do next
- Run a funnel sign_up → add_to_cart → purchase for members vs guests in Explorations.
- Export a loyalty members audience to Google Ads for retention and win-back campaigns.
- Watch for inflated login counts on SPAs that re-fire auth on every route change.
Bottom line
Auth events measure loyalty adoption, not IT logins. Set user_id at sign-up. Fire login once per session. Enrich with loyalty_tier for segmentation.