client's seeing double sessions because they're firing custom events before the default config loads. just move your session_start overrides into the initial config call so it doesn't overwrite the existing params mid-stream.
gtag('config', 'G-XXXXXXXXXX', {'session_start': {'user_id': '12345'}});it's a
simple tiny fix but saves the attribution from looking like complete garbage. unless you enjoy explaining why bounce rates are zero.