       @submit(token)
     )
 
+
   onRegisterSuccess: (model, response, options) =>
+    hasEmailAndPassword = true if model.get("email") && model.get("password")
+    service = if hasEmailAndPassword then "email" else "facebook"
+    accountCreationData = {
+      user_id: response.user.id,
+      intent: "signup",
+      modal_copy: "Join Artsy to discover new works by #{@artist.get('name')} and more artists you love",
+      trigger: if @eventType == "scroll" then "scroll" else @eventType,
+      triggerSeconds: 4 if @eventType is "scroll",
+      type: "signup",
+      auth_redirect: location.href
+      service: service,
+    }
+    mediator.trigger 'artist_cta:account_creation', accountCreationData
     window.location = @afterAuthPath
 
   render: ->

    @$window.on 'scroll', _.once(@maybeShowOverlay)
    mediator.on 'clickFollowButton', @fullScreenOverlay
    mediator.on 'clickHeaderAuth', @fullScreenOverlay

  maybeShowOverlay: () =>
    if !@alreadyDismissed

  fullScreenOverlay: (event = "scroll") =>
    if event != "scroll"
      contextModule = "Footer" if event.currentTarget.className?.includes("artist-page-cta")
    @eventType = if event == "scroll" then "scroll" else event.type
    return if @$el.hasClass 'fullscreen'
    @$overlay.fadeIn 300
    @$banner.fadeOut 300
    fragment = qs.stringify @currentParams()
    @trackImpression(@eventType, contextModule)
    # This handles the redirect for the new onboarding flow
    @afterAuthPath += "?redirectTo=#{@artist.get('href')}"
    @afterAuthPath += "?#{fragment}" if fragment
