Analytics Events Documentation
Below is the typical events that are sent to analytics systems like Amplitude or Posthog from web2wave
Main events
| Event name | Description | Properties |
|---|---|---|
| Step %screen_index% %screen_name% | User visited #screen_name page with index screen_index | {value: '0', section_id: 'welcome'} |
| Answer %screen_name% | User answered question on #screen_name page | {value: 'User answer'} |
| Quiz finished | Quiz is finished - sent on the last quiz page(at the end), can be not delivered. | |
| Quiz data reloaded | Quiz data was reloaded dynamically | {quiz_id: 'xxx', target_id: 'xxx'} |
| Quiz data reload error | Error occurred while reloading quiz data | {error: 'error message', target_id: 'xxx'} |
| CompleteRegistration sign_up - in GA | User visited Paywall page | |
| Paywall click | User clicked on paywall | |
| Paywall click get_my_plan | User clicked on "Get my plan" button | {value: '19.99', currency: 'USD', price_id: 'xxx', external_price_id: 'xxx', placement: 'timer-sticky' | 'pay-button'} |
| Paywall Prices visible | Paywall prices section became visible (50% in viewport) | |
| Paywall Price URL clicked | User clicked on price URL | {value: 'url'} |
| Paywall click price | User clicked on a price option | |
| Paywall click No price | User clicked on "No price" option | {value: 'price_id'} |
| Paywall scroll 1 | User scrolled on paywall | |
| Paywall scroll 50 | User scrolled 50% of paywall | |
| Paywall Popup open | Paywall popup was opened | {value: 'selector'} |
| Paywall Popup close | Paywall popup was closed | {value: 'selector'} |
| InitiateCheckout begin_checkout - in GA | 3 different events: - User opened Stripe or Paddle form in popup - User clicked in Stripe form embedded in page - User clicked on 'Subscribe with Apple Pay button' | |
| Subscribe conversion - in GA | User subscribed or made trial | {currency: 'USD', value: '19.99'} |
| Purchase purchase - in GA | User subscribed or made trial | {currency: 'USD', value: '19.99'} |
| CompletePayment | User subscribed or made trial | {currency: 'USD', value: '19.99'} |
| AddPaymentInfo | User submitted payment form with card details or started ApplePay payment | |
| No send event for user | No event was sent for user (backend check failed) | |
| error with event-data-to-analytic | Error occurred while fetching event data from backend | |
| User Subscription Canceled | User canceled their subscription | {value: 'subscription_id', comment: 'cancellation reason'} |
| User Subscription Cancel Error | Error occurred while canceling subscription | {value: 'error message', status: 'error status', cancelData: {...}} |
| Paywall Error One Click Buy | Error occurred during one-click purchase | {value: 'error message'} |
| Double purchase detected (One Click) | Double purchase was detected during one-click purchase attempt | {behaviour: 'xxx', existing_subscription_id: 'xxx', price_id: 'xxx'} |
| Paywall Subscription Updated | User successfully updated their subscription | {price_id: 'xxx', subscription_id: 'xxx'} |
| Paywall Subscription Update Error | Error occurred while updating subscription | {value: 'error message', price_id: 'xxx', subscription_id: 'xxx'} |
Technical events
| Event name | Description | Properties |
|---|---|---|
| PageView | FB event on page view | |
| Page freeze | Page freeze event | |
| Page resume | Page resume event | |
| Page closed | Browser page closed (onvisibilitychange hidden) | |
| Page beforeunload | Page beforeunload event | |
| Viewport btn next hidden | Next button is hidden from viewport | |
| Viewport screen resize | Screen was resized | {value: '1920x1080'} |
| Viewport scroll | User scrolled on page | {value: scrollTop} |
| Viewport click | User clicked on page | {value: 'css path'} |
| Timer finished | Timer countdown finished |
Stripe events
Works with
| Event Name | Description | Properties |
|---|---|---|
| Stripe change | User selected payment method in form | {"elementType": "payment", "collapsed": false, "empty": true, "complete": false, "value": "card"} |
| Stripe Loading | Stripe form is loading (logged every 5 seconds while loading) | {seconds: 5} |
| Stripe ready | Stripe form is loaded | |
| Stripe focus | User clicked in Stripe form | |
| Stripe blur | User clicked outside Stripe form | |
| Stripe escape | User pressed "Escape" in Stripe form | |
| Stripe loaderror | Error while loading Stripe form | |
| Stripe loaderstart | Stripe form loader started | |
| Stripe submit error | Error occurred while submitting Stripe form | {"code": "card_declined", "type": "card_error", "charge": "ch_XXXX", "doc_url": "https://stripe.com/docs/error-codes/card-declined", "message": "Your card has been declined.", "shouldRetry": "false", "decline_code": "try_again_later", "payment_intent": {XXX}, "payment_method": {XXX}, "request_log_url": "https://dashboard.stripe.com/logs/req_XXXXX"} |
| Stripe submit | Stripe Payment form submitted OR Stripe Express Button clicked | {value: 'card'} **OR** {"value": "apple_pay", "resolve": null, "elementType": "expressCheckout", "expressPaymentType": "apple_pay"} |
| Stripe Error in adding billing details | Error occurred while adding billing details | {value: 'error message'} |
| Stripe create subscription error | Error occurred while creating subscription | {error object} |
| Stripe Address Element change | User changed address in Stripe Address Element | {element_id: 'xxx', complete: true/false, value: {...}} |
| Stripe Address Element loaderror | Error loading Stripe Address Element | |
| Stripe Address Element error | Error in Stripe Address Element | |
| Stripe Express ready | Stripe Express Button loaded | {"elementType": "expressCheckout", "availablePaymentMethods": {"link": "false", "paypal": "false", "applePay": "true", "amazonPay": "false", "googlePay": "false"}} |
| Stripe Express No buttons | Stripe Express buttons not available | |
| Stripe Express loaderror | Error loading Stripe Express buttons | |
| Stripe Express loaderstart | Stripe Express loader started | |
| Stripe Express click + Stripe submit + InitiateCheckout | Stripe submit + InitiateCheckout | |
| Stripe Express confirm | Payment completed with Stripe Express button | {"elementType": "expressCheckout", "paymentFailed": null, "billingDetails": {"name": "John Doe", "address": {"city": "Arden", "line1": "49 Owenby Dr", "line2": null, "state": "NC", "country": "US", "postal_code": "28704"}}, "expressPaymentType": "apple_pay"} |
| Stripe Express cancel | User cancelled Stripe Express payment | |
| Stripe Express subscription error | Error creating subscription with Stripe Express | {error object} |
| Stripe Express Has buttons | Stripe Express buttons are available | |
| Stripe Payment Request click | User clicked on Stripe Payment Request button (Apple Pay) | |
| Stripe Payment Request cancel | User cancelled Stripe Payment Request | |
| Stripe PaymentRequest button | Stripe Payment Request button state changed | {value: 'apple_pay_enabled' | 'apple_pay_disabled'} |
PayPal events
| Event Name | Description | Properties |
|---|---|---|
| PayPal createSubscription + InitiateCheckout | User clicked on PayPal button, PayPal payment initiated | {"price_id": "price_1P2avpAg4LBBeMXXXXXX"} |
| PayPal createOrder | PayPal order creation initiated | |
| PayPal Start Create Order | PayPal order creation started | |
| PayPal Payment Submit Success | PayPal payment was submitted successfully | |
| PayPal onApprove + Subscribe | PayPal payment approved and subscription created | {"orderID": "3S629229XXXXXXX", "paymentSource": "paypal", "subscriptionID": "I-74NVU7XXXXX", "facilitatorAccessToken": "xxxx...xxxxx"} |
| PayPal onError | PayPal payment error occurred | {value: 'error' | {error: 'error message'}} |
| PayPal onCancel | User cancelled PayPal payment | {"orderID": "2G963992NV477XXX"} |
Paddle events
| Event name | Description | Properties |
|---|---|---|
| Paddle checkout.loaded | Paddle checkout loaded | |
| Paddle checkout.payment.selected | User selected payment method | |
| Paddle checkout.payment.initiated | Payment initiated | |
| Paddle checkout.customer.created | Customer created | |
| Paddle checkout.completed | Checkout completed | |
| Paddle checkout.ping.size | Checkout ping size | |
| Paddle checkout.warning | Checkout warning |
Primer events
| Event name | Description | Properties |
|---|---|---|
| Primer error | Primer payment error | {value: 'error message'} |
| Primer onCheckoutComplete | Primer checkout completed | |
| Primer onCheckoutFail | Primer checkout failed | {value: 'error message'} |
| Primer onPaymentCreationStart | Primer payment creation started | |
| Primer onBeforePaymentCreate | Before Primer payment creation |
Hubx events
| Event name | Description | Properties |
|---|---|---|
| Hubx error | Hubx payment error | {value: 'error message'} |
| Hubx onCheckoutComplete | Hubx checkout completed | |
| Hubx onCheckoutFail | Hubx checkout failed | {value: 'error message'} |
| Hubx onPaymentCreationStart | Hubx payment creation started | |
| Hubx onBeforePaymentCreate | Before Hubx payment creation |
Unlimit events
| Event name | Description | Properties |
|---|---|---|
| Unlimit init | Unlimit payment initialized | |
| Unlimit get redirect link | Getting Unlimit redirect link | |
| Unlimit redirect request error: %error% | Error getting redirect link | |
| Unlimit redirect to payment page | Redirecting to Unlimit payment page |
Solidgate events
| Event name | Description | Properties |
|---|---|---|
| Solidgate error | Solidgate payment error | {value: 'error'} |
| Solidgate payment success | Solidgate payment succeeded | {value: 'JSON data'} |
| Solidgate payment fail | Solidgate payment failed | {value: 'JSON data'} |
CloudPayment events
| Event name | Description | Properties |
|---|---|---|
| Paywall CloudPayment error | CloudPayment error occurred | {value: 'reason'} |