-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create Ads SetupMainPAX
component
#8558
Comments
Is this correct? Wouldn't we want some sort of "setup" component/display mode here? Or is the idea that the PAX app will show a "setup" flow if the user doesn't have PAX setup. I think that's right, actually, but we should clarify that in the ACs so it's clear. 🤔 Otherwise looks good 👍🏻 |
@tofumatt I believe (base on this design doc comment thread) that the PAX app will only support 2 views: Setup and reporting. There is no support for existing accounts (yet) so we'd not re-launch PAX in an existing user state, and I think they will likely determine the status of existing campaign status from the user token anyway, but this does not exist yet regardless. The naming of the actual config value may change, but I think we can agree on the component prop name for now, I am not precious about |
Sounds good then, that's what I figured. Moving this to IB 👍🏻 |
Updated this one a bit to rework the scope a bit and remove the bit about using the campaign service since we'll be adding that in after this rather than before now. AC + IB ✅ |
QA Update
|
Hey @mohitwp Thanks for your observations.
Yes, color is correct - we do not have a design for this yet, still early stage. So we use inverse variation to differentiate it from complete setup
These are coming from PAX embedded app itself, they don't show always, it is something Ads team will handle on their side. They do not interupt the flow, as PAX is working event when they show up |
QA Update ✅
When user don't have adwords scope Recording.937.mp4Recording.939.mp4When user have adswords scope Recording.940.mp4 |
Feature Description
The Ads module's main setup component should be replaced by an alternate, new component specific to the PAX-capable experience when the feature is enabled. This can be registered in place of the current
SetupComponent
depending on the state of the feature.It should make it possible to choose the optional path to launch PAX for Ads onboarding instead of manually configuring the conversion tracking ID as today.
As the main setup component, it should wrap the entire setup experience, including PAX (created in #8557), while preserving the conventions for layout and setup in SK as much as possible.
Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance criteria
SetupMainPAX
component should be created that will replace the existing AdsSetupComponent
when theadsPAX
feature flag is enabled.SetupMain
with the addition of a CTA to set up a new account (no designs for this yet)PAX
component #8557) should be launched in place of the "body" (form) of the setup component, while preserving the main wrapping elements such as "Connect module", Ads icon, title, and submit button (i.e. nothing related to manual conversion ID input)conversionID
setting, but require + validate thepaxConversionID
andextCustomerID
settings insteadImplementation Brief
assets/js/modules/ads/setup/SetupMainPAX.js
assets/js/modules/ads/components/setup/SetupMain.js
as a starting point(core/user).hasScope(adwords)
(core/user).getConnectURL
to get the URL to request the scope with if needed while adding a parameter to the URL (e.g.pax=1
)adwords
scope is granted and thepax=1
parameter is present, render thePAXEmbeddedApp
component in place of the main body of the componentPAXEmbeddedApp
using thedisplayMode=setup
propuseQueryArg
)PAXEmbeddedApp
also pass anonLaunch
function prop to receive a reference to theapp
instance on successful launch (for use later)SpinnerButton
from the main setup form below the PAX appapp
instance returned the PAXonLaunch
to get access to the Ads services (viaapp.getServices()
(example))app
instance can be used to conditionally render/enable the submit button. This could allow it to be enabled/usable before the setup is completed, but this will be enhanced/addressed in a follow-up issueaccountService
to get the external customer ID (example), and set the value in settings stateconversionTrackingService
to get the conversion tracking ID (example), and set the value in settings statesubmitChanges()
andfinishSetup()
similar to how it is done inSetupForm
assets/js/modules/ads/index.js
SetupComponent
check ifadsPax
feature flag is enabled to render eitherSetupMainPAX
or currentSetupMain
componentincludes/Modules/Ads.php
is_connected
methodadsPax
feature is enabled to return true if either$options['conversionID']
OR$options['paxConversionID']
are not emptyTest Coverage
is_connected
tests for Ads moduleSetupMainPAX
states as reasonable (it's expected PAX can't actually launch in this context but we could use some kind of simple placeholder for it as the other parts are still useful)QA Brief
adsModule
andadsPax
feature flagsCreate an account
buttoncomplete setup
button should setup and connect Ads module and you should be redirected to the dashboard with success subtle notification showingcomplete setup
button will connect Ads module..Changelog entry
The text was updated successfully, but these errors were encountered: