I. Editor updates

  1. Number inputs now support min and max limits
  2. Returned interval price input in Subscription plan picker component settings
  3. Fixed text colors for interval price block

II. Integrations update

1. Adapty

  1. Structural improvements to enhance stability
  2. Now published purchases accumulate app revenue
  3. Fixed problem when free & paid trials granted access level for the main sub duration, instead of trial duration
  4. Fixed problem when subscription renewals granted "premium" access level instead of custom level from checkout config

2. Amplitude

  1. Server now sends a custom purchase value as price value in server Amplitude events if present

3. GA4

  1. Fixed a problem when purchase_completed_success event did not track correctly due to enabled Meta Pixel integration

4. GTM

  1. Renamed parameter tracking_id to invoice_id in purchase_completed_success event
  2. Fixed a problem when user denied cookie consent, but Google Tag continued to handle user activity using Advanced Consent Mode

5. Meta Pixel

  1. Server now sends a custom purchase value as price value in Conversions API
  2. For Free Trials Conversions API & Meta Pixel will now send StartTrial event instead of Purchase
  3. For subscription renewals Conversions API & Meta Pixel will now send Renewal event instead of Purchase
  4. Fixed Conversions API problem when first transaction in paid trial was considered trial and did not trigger Purchase event

6. Qonversion

  1. Structural improvements to enhance stability

7. RevenueCat

  1. RevenueCat now works with PayPal

8. Stripe

  1. Structural improvements to enhance stability
  2. Transaction metadata now has ff_custom_user_id parameter that holds Custom User ID in case you don’t collect emails
  3. Transaction metadata now has ff_custom_price_value parameter that holds Predicted LTV if you provide it
  4. Transaction metadata now has ff_trial_price_id parameter that holds Stripe price ID of a product that behaved as paid trial

9. Webhooks

  1. Price in purchase.completed event (data.price) now returns a floating number (10.99) instead of integer (1099)