Skip to content

Redesign Go Pro upsell banners with benefit-driven CTAs#1186

Closed
danieliser wants to merge 9 commits into
developfrom
go-pro-tab-enhancement
Closed

Redesign Go Pro upsell banners with benefit-driven CTAs#1186
danieliser wants to merge 9 commits into
developfrom
go-pro-tab-enhancement

Conversation

@danieliser
Copy link
Copy Markdown
Member

Summary

  • Redesigned hero banner: benefit headline with emoji, "Increase My Conversion Rate" CTA with pricing below
  • Pro+ bars now show for any user (free or Pro) with WooCommerce/EDD/LifterLMS but missing the Pro+ addon
  • Benefit-driven Pro+ CTAs: "Track My Popup Revenue" / "Boost My Course Sales" with pricing below
  • Stacked bar support when both ecom + LMS platforms detected
  • Dismissible via localStorage (14-day expiry) on all tabs except Go Pro
  • Dismiss button adapts color for dark vs light backgrounds
  • Updated stats: 4,271 five-star reviews, 4.9 rating
  • Replaced CTA Management tag with Referrer Detection

Test plan

  • Verify hero banner renders on all settings tabs for free users
  • Verify Pro+ ecommerce bar shows when WooCommerce or EDD active (without ecommerce-popups addon)
  • Verify Pro+ LMS bar shows when LifterLMS active (without lms-popups addon)
  • Verify both bars stack when both platforms detected
  • Verify Pro users (active license, no Pro+ addons) see Pro+ bars but not the hero
  • Verify Pro+ users (addons active) see no banners
  • Verify dismiss persists in localStorage and expires after 14 days
  • Verify Go Pro tab always shows banners (no dismiss button)
  • Verify dismiss button is visible on both dark and light backgrounds

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 24, 2026

Warning

Rate limit exceeded

@danieliser has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 3 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6b32682f-bdfb-4fb7-bf7f-452004491c91

📥 Commits

Reviewing files that changed from the base of the PR and between 6c0c520 and e24aa76.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (91)
  • .coderabbit.yaml
  • .github/workflows/ci.yml
  • .github/workflows/notify-support.yml
  • .github/workflows/phpcs-tests.yml.disabled
  • .github/workflows/phpunit-tests.yml.disabled
  • .github/workflows/release-please.yml
  • .github/workflows/request-approval.yml
  • .release-please-config.json
  • .release-please-manifest.json
  • .tesseraignore
  • CHANGELOG.md
  • assets/js/src/admin/general/plugins/tabs.js
  • assets/js/src/admin/general/styles.scss
  • assets/js/src/admin/general/styles/partials/_go-pro.scss
  • assets/js/src/admin/popup-editor/editor.scss
  • assets/js/src/admin/settings-page/editor.scss
  • assets/js/src/integration/beaverbuilder.js
  • assets/js/src/integration/bitform.js
  • assets/js/src/integration/calderaforms.js
  • assets/js/src/integration/elementor.js
  • assets/js/src/integration/fluentforms.js
  • assets/js/src/integration/formidableforms.js
  • assets/js/src/integration/forminator.js
  • assets/js/src/integration/happyforms.js
  • assets/js/src/integration/htmlforms.js
  • assets/js/src/integration/index.js
  • assets/js/src/integration/kaliForms.js
  • assets/js/src/integration/newsletter.js
  • assets/js/src/integration/ninjaforms.js
  • assets/js/src/site/plugins/pum-analytics.js
  • assets/js/src/site/plugins/pum-url-tracking.js
  • bin/extract-changelog.js
  • classes/Admin/BlockEditor.php
  • classes/Admin/Helpers.php
  • classes/Admin/Popups.php
  • classes/Admin/Settings.php
  • classes/Admin/Templates.php
  • classes/Analytics.php
  • classes/AssetCache.php
  • classes/Base/CallToAction.php
  • classes/CallToAction/Link.php
  • classes/Controllers/Assets.php
  • classes/Controllers/CallToActions.php
  • classes/Controllers/Compatibility/Builder/Divi.php
  • classes/Controllers/PostTypes.php
  • classes/Controllers/RestAPI.php
  • classes/Controllers/WP/Dashboard.php
  • classes/DB/Subscribers.php
  • classes/Extension/License.php
  • classes/Integration/Form/BeaverBuilder.php
  • classes/Integration/Form/BitForm.php
  • classes/Integration/Form/CalderaForms.php
  • classes/Integration/Form/ContactForm7.php
  • classes/Integration/Form/Elementor.php
  • classes/Integration/Form/FluentForms.php
  • classes/Integration/Form/FormidableForms.php
  • classes/Integration/Form/Forminator.php
  • classes/Integration/Form/GravityForms.php
  • classes/Integration/Form/HTMLForms.php
  • classes/Integration/Form/HappyForms.php
  • classes/Integration/Form/KaliForms.php
  • classes/Integration/Form/Newsletter.php
  • classes/Integration/Form/NinjaForms.php
  • classes/Integration/Form/WPForms.php
  • classes/Integrations.php
  • classes/ListTable.php
  • classes/Plugin/Core.php
  • classes/Services/FormConversionTracking.php
  • classes/Services/LinkClickTracking.php
  • classes/Shortcode/CallToAction.php
  • classes/Site/Assets.php
  • classes/Telemetry.php
  • classes/Upsell.php
  • composer.json
  • docs/release-please-integration.md
  • includes/integrations/class-pum-woocommerce-integration.php
  • includes/namespaced/core.php
  • includes/namespaced/utils.php
  • package.json
  • packages/block-editor/src/index.ts
  • packages/block-editor/src/plugins/index.ts
  • packages/block-editor/src/plugins/popup-title-panel.tsx
  • packages/components/package.json
  • packages/core-data/package.json
  • packages/cta-editor/package.json
  • packages/fields/src/lib/utils.tsx
  • packages/fields/src/types/fields.ts
  • packages/icons/package.json
  • packages/types/src/index.d.ts
  • phpstan.neon.dist
  • readme.txt
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch go-pro-tab-enhancement

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…ghts

- Add hero section with social proof stats (700K+ users, 30B+ popups, 4.95★)
- Add feature grid showcasing 6 key Pro features
  - Exit Intent Triggers
  - Conversion Analytics
  - Advanced Targeting
  - A/B Testing
  - Mobile-First Features
  - Form Integrations
- Add contextual Pro+ pitch for ecommerce users (WooCommerce/EDD detected)
- Add contextual Pro+ pitch for LMS users (LifterLMS/LearnDash detected)
- All upgrade links use generate_upgrade_url() for UTM tracking
- Different display for Pro users vs Free users (license management message)

Implements: monday-release-quick-wins-status.md #4
- Remove LearnDash check from LMS detection logic
- Only LifterLMS is currently supported
- Prevents showing LMS pitch for unsupported platform
Add PUM_Admin_Helpers::get_detected_integrations() which was called in
Settings::field_go_pro_features() but never defined. Detects WooCommerce,
EDD, and LifterLMS for contextual Pro+ messaging on the Go Pro tab.
Replace inline-styled hero and feature cards with proper SCSS and
semantic HTML. Dark hero with PM mark, green accent glows, stats,
feature pills. Horizontal Pro+ pitch bars for detected integrations.
- Hero: benefit headline, "Increase My Conversion Rate" CTA, price below
- Pro+ bars: show for any user with WooCommerce/EDD/LifterLMS missing addon
- Benefit-driven Pro+ CTAs: "Track My Popup Revenue" / "Boost My Course Sales"
- Stacked bar support when both ecom + LMS platforms detected
- Dismissible via localStorage on non-Go-Pro tabs
- Dismiss button adapts color for dark vs light backgrounds
- Updated stats: 4,271 five-star reviews, 4.9 rating
- Replaced CTA Management tag with Referrer Detection
localStorage dismiss auto-expires after 14 days, resurfacing
the banners for another impression cycle.
- Fix responsive media query selectors to match actual class names
- Fix PHPCS indentation inside upsell template conditional
- Fix license delete showing success message on failure
- Remove dead Pro-user manage-license branch (unreachable)
@danieliser danieliser force-pushed the go-pro-tab-enhancement branch from 4dae749 to e24aa76 Compare March 24, 2026 20:24
@danieliser danieliser changed the base branch from master to develop March 24, 2026 20:28
@danieliser
Copy link
Copy Markdown
Member Author

Duplicate of #1151 which was squash-merged with all changes included.

@danieliser danieliser closed this Mar 24, 2026
@danieliser danieliser deleted the go-pro-tab-enhancement branch March 24, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant