OConvert
Conversion optimization for the Orravo stack. A/B testing for any element via shortcode or DOM patch, lightweight click-tracking heatmaps, and exit-intent triggers with frequency caps. Designed to pair with OMailer, OAds, and OMembership for end-to-end funnel optimization. Self-hosted, first-party cookie, no SaaS.
Score a page.
See its conversion.
This is a UI simulation of OConvert's built-in page scoring panel, showing exactly what the tool looks and feels like inside your WP admin. When installed, it pulls live test assignments, conversion totals, top-performing variants, and heatmap density from the events tables.
Score a page.
Read the funnel.
Simulated demo. Runs automatically as you scroll. The real plugin reads live data from your conversion tables.
Everything optimization,
nothing extra.
One plugin. No external services. No tracking pixels phoning home. Your data, your server, your rules.
Click around.
It's all real.
Six interactive previews of the actual OConvert admin. No screenshots; these are working mock-ups of what ships in the plugin.
| Test key | Variants | Assignments | Conv. rate | Status |
|---|---|---|---|---|
| hero_cta | 2 | 4,820 | 4.5% | winning b |
| pricing_headline | 3 | 3,140 | 5.4% | winning c |
| signup_form_label | 2 | 2,910 | 3.2% | running |
| nav_cta_color | 2 | 2,180 | 3.8% | no signal |
| checkout_button | 2 | 1,770 | 6.1% | winning a |
| cart_save | mouseleave_top · /checkout, /cart | active |
| read_more | scroll_pct 75% · /blog/* | active |
| idle_nudge | time_on_page 90s · /pricing | active |
| tab_blur_cta | tab_blur · all pages | paused |
| Visitor cookie name | ocv_vid | first-party |
| Cookie TTL | 365 days | SameSite=Lax |
| Heatmap sample cap | 5,000 clicks per page | FIFO |
| Heatmap grid | 20 x 20 cells | binned |
| Event retention | 180 days (admin) | auto-cleanup |
| REST namespace | oconvert/v1 | public + admin |
| wp_oconvert_tests | test definitions and variants | 5 rows |
| wp_oconvert_assignments | visitor → variant pairings | 14,820 rows |
| wp_oconvert_events | clicks, conversions, exit fires | 218,440 rows |
What you get
vs. what they sell you.
Conversion-optimization SaaS prices on visitor count and gates the basics behind tier upgrades. OConvert is the same surface area in a WP plugin, with one purchase, no per-visitor tax, and no traffic leaving your server.
| VWO | Convert.com | Optimizely | OConvert | |
|---|---|---|---|---|
| A/B test any element via shortcode | paid plan | paid plan | paid plan | Built in |
| DOM patch tests (no template edits) | ✓ | ✓ | ✓ | Built in |
| Six patch modes (replace, append, text, attr, etc) | ✓ | ✓ | ✓ | Built in |
| Sticky deterministic variant assignment | ✓ | ✓ | ✓ | Built in |
| Click heatmaps (binned grid) | paid plan | paid plan | paid plan | Built in |
| Exit-intent triggers (mouseleave) | paid add-on | paid plan | paid plan | Built in |
| Scroll-depth triggers | paid plan | paid plan | paid plan | Built in |
| Time-on-page triggers | paid plan | paid plan | paid plan | Built in |
| Tab-blur triggers | no | no | no | Built in |
| Frequency caps (cookie) | paid plan | paid plan | paid plan | Built in |
| Visitor cookie (first-party, no SaaS) | no | no | no | Built in |
| REST API (public + admin) | paid plan | paid plan | paid plan | Built in |
| Visual click-to-patch editor | paid plan | paid plan | paid plan | Built in |
| oconvert:exit CustomEvent (OMailer / OForms hook) | no | no | no | Built in |
| Public window.OCV.convert() JS API | no | no | no | Built in |
| Cmd+K command palette (via Orravo Core) | no | no | no | Built in |
| Self-hosted (no traffic to vendor) | no | no | no | Built in |
| No per-visitor pricing | no | no | no | Built in |
| Pricing model | From $314/mo | From $299/mo | Quote-based | $99 once |
Clean public API.
Read the source.
PSR-4 namespaced classes, helper functions for the common stuff, REST endpoints under the oconvert/v1 namespace, WP-CLI commands, and a hook surface that lets you extend any subsystem without forking.
// Shortcode A/B test. Wrap each variant. Sticky per visitor. [oconvert_test key="hero_cta"] [oconvert_variant id="a"] <a href="/signup" class="btn">Start free trial</a> [/oconvert_variant] [oconvert_variant id="b"] <a href="/signup" class="btn">Try it free</a> [/oconvert_variant] [/oconvert_test] // Visitor sees one variant, always the same one. // Sticky assignment: crc32(vid:test_key) % count
Choose your plan.
Lifetime or monthly.
Beta pricing. No tiers based on visitor count. No per-seat tax. Pay once, install on the sites in your tier, get every future update including the v1.0 release free.

