Skip to content
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

[R-1] Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation #2205

Conversation

ankitrox
Copy link
Collaborator

@ankitrox ankitrox commented Jan 18, 2024

Changes proposed in this Pull Request:

Make improvements to ads conversion tracking experience, including the ability to set-up conversion tracking without needing to complete full onboarding flow

Users should be able to connect to Google ads account in step-1 of the onboarding flow.

Closes #2215.

Detailed description

Current Issue

In the current onboarding journey, user has to go through the Merchant Account center setup in order to connect to the ads account which will eventually setup the conversion tracking. This creates a dependency between ads and merchant account which should not be the case and user should be able to setup conversion tracking without having to setup the merchant account.

Changes in the PR

  1. Moved the Google Ads card component from step 4 of the onboarding journey to step 1 of the onboarding journey.
  2. Placed the Google Ads card component after Google account card and before Merchant Center card component.
  3. Google Ads and Merchant account cannot be connected till jetpack and Google accounts are connected.
  4. However; Google ads and MC account card are decoupled from each other; meaning ads or merchant account can be created before/after the other one.
  5. Users would require all accounts to be connected in step-1 of the onboarding journey in order to proceed to the next step.

Screenshots:

Screenshot 2024-02-05 at 10 57 58 PM

Detailed test instructions:

  1. Start onboarding journey with Marketing > Google Listing & Ads > Start listing products
  2. In the step-1 of the onboarding journey, you should be able to view 4 cards
    a. Jetpack
    b. Google
    c. Google Ads
    d. Google Merchant Center
  3. Until Jetpack and Google accounts are not connected, Ads and MC cards should stay in disabled state. User should not be able to connect to ads or MC if the Jetpack and Google accounts are not connected.
  4. Once Jetpack and Google accounts are connected, Google ads and MC cards should be enabled. If there are existing ads account, you should be able to see dropdown with those accounts. If no existing accounts, there should be "Create Account" button, which would create an ads account.
  5. Once the Ads account is successfully connected, there would be a message in ads card component stating "Conversion measurement has been set up. You can create a campaign later.". Please refer following screenshot.
  6. You should be able to connect to MC account before Ads account and vice versa.

Changelog entry

Add - Google Ads account invitation acceptance step to the connection process.
Update - Move the Google Ads account connection process from step 4 to step 1 of the onboarding flow.
Update - Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation.

@ankitrox ankitrox self-assigned this Jan 18, 2024
Make merchant account non-required for ads account setup
Copy link

codecov bot commented Jan 19, 2024

Codecov Report

Attention: Patch coverage is 92.30769% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 62.2%. Comparing base (d678ed7) to head (24c494e).
Report is 141 commits behind head on develop.

Current head 24c494e differs from pull request most recent head dfd4075

Please upload reports for the commit dfd4075 to get more accurate results.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             develop   #2205     +/-   ##
===========================================
- Coverage       64.5%   62.2%   -2.3%     
+ Complexity      4252    4209     -43     
===========================================
  Files            458     748    +290     
  Lines          18041   21615   +3574     
  Branches           0     533    +533     
===========================================
+ Hits           11634   13436   +1802     
- Misses          6407    7727   +1320     
- Partials           0     452    +452     
Flag Coverage Δ
js-unit-tests 53.9% <ø> (?)
php-unit-tests 63.9% <92.3%> (-0.6%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
js/src/components/account-card/index.js 100.0% <ø> (ø)
src/API/Google/Merchant.php 100.0% <100.0%> (ø)
src/Ads/AccountService.php 98.2% <100.0%> (+0.1%) ⬆️
src/MerchantCenter/AccountService.php 98.2% <100.0%> (+0.1%) ⬆️
src/Options/AdsAccountState.php 0.0% <0.0%> (ø)
src/Options/MerchantAccountState.php 0.0% <0.0%> (ø)

... and 318 files with indirect coverage changes

@ankitrox ankitrox marked this pull request as ready for review January 26, 2024 12:37
@ankitrox ankitrox changed the title Allow conversion tracking without merchant account [R 1.1] Allow conversion tracking without merchant account Jan 26, 2024
Copy link
Collaborator

@joemcgill joemcgill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ankitrox. I think this is getting close. The main thing that needs updating is the API handling for linking the Ads and MC accounts and updating PHPUnit and E2E tests. I've taken a pass at getting most of this working in #2223. Feel free to merge those into this branch if you'd like and handle additional test updates here.

src/Ads/AccountService.php Show resolved Hide resolved
Update tests for conversion tracking without a merchant account
@joemcgill joemcgill dismissed their stale review April 24, 2024 18:45

No longer applicable

@joemcgill
Copy link
Collaborator

joemcgill commented Apr 24, 2024

Now that #2270 is approved an merged, everything in this branch should be ready for final review/merge into develop. E2E tests for this whole branch have been updated in #2308.

cc: @MatthiasReinholz

js/src/hooks/useUpsertAdsAccount.js Outdated Show resolved Hide resolved
@eason9487 eason9487 added changelog: add A new feature, function, or functionality was added. and removed changelog: update Big changes to something that wasn't broken. labels May 17, 2024
@eason9487 eason9487 changed the base branch from develop to feature/seamlessly-conversion-tracking May 27, 2024 04:05
@eason9487
Copy link
Member

Change the merge base to the new feature branch feature/seamlessly-conversion-tracking as there will be other PRs to be added. Continuing to stack more PRs onto this PR is not ideal.

I will be merging this PR. The subsequent PRs will also use the feature/seamlessly-conversion-tracking as their merge base.

@eason9487 eason9487 merged commit f16a8b4 into feature/seamlessly-conversion-tracking May 27, 2024
14 checks passed
@eason9487 eason9487 deleted the feature/setup-google-ads-in-step1 branch May 27, 2024 04:13
@eason9487 eason9487 changed the title [R 1] Allow conversion tracking without merchant account [R 1] Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation May 29, 2024
@eason9487 eason9487 changed the title [R 1] Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation [R-1] Enable users to seamlessly set up conversion tracking, without having to set up merchant center first or requiring campaign creation May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: add A new feature, function, or functionality was added.
Projects
None yet
6 participants