-
Notifications
You must be signed in to change notification settings - Fork 49
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
Fix/payment utm meta fields #3371
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works as described. The only caveat is that it won't fetch the order UTM if it's not the latest order or the reader has an active subscription, which will be prioritized.
We could change how the UTM is fetched by updating a user meta when an order comes in with a UTM. Then, fetch the user meta instead of the order this logic uses. |
I might be misreading, but I thought this metadata should always be sourced from the latest order/sub. The goal is to have the UTMs available in the ESP for targeted campaigns. If a reader donates on a Anyway, this PR does not change this logic, only adds handling of additional order meta to facilitate WC data importing. If the discussion above results in any changes requested, they should be done in a separate PR. |
This is fine and should behave as expected fetching the latest order. The problem is when the reader is a long-time sub and purchases something or donates with UTM params. The existing subscription will not allow the UTM parameters to go in. Moving to a user meta will still have the intended goal, but ensure that the latest UTM will go in regardless of how this logic decides which order should be prioritized for other reasons. I understand that the existing logic to prioritize a subscription order is to ensure that the membership status and product name fields reflect their subscription, regardless of which new order is coming in. That does not necessarily translate to how we want all fields to behave. Perhaps instead of user meta, the logic for "active subscription" should be isolated and not replace the parsed order entirely. |
# [5.4.0-alpha.1](v5.3.3...v5.4.0-alpha.1) (2024-08-29) ### Bug Fixes * **esp-meta:** handle state of the 'Woo Team' meta ([#3352](#3352)) ([ba5ea1e](ba5ea1e)) * **esp-wc-metadata:** last payment date & amount handling ([#3363](#3363)) ([d1abbfe](d1abbfe)) * **guest-author:** enqueue the guest author admin script selectively ([0bf37af](0bf37af)) * make email template fetching deterministic ([#3341](#3341)) ([ace91aa](ace91aa)) * woocommerce connection tests ([#3372](#3372)) ([5cea128](5cea128)) * **woocommerce-connection:** handle explicit UTM meta fields meta ([#3371](#3371)) ([bf9e997](bf9e997)) ### Features * **esp-sync:** sync membership data regardless of subscription ([#3353](#3353)) ([9f7d1de](9f7d1de)) * **ga:** disable tracking for editors regardless of RA status ([81323c3](81323c3)) * **memberships:** add memberships-related body classes ([b56b9d8](b56b9d8)) * **ras:** esp sync tools ([#3359](#3359)) ([d7dd754](d7dd754)) * **ras:** helper method for ESP master list ([#3355](#3355)) ([ec56d5b](ec56d5b))
🎉 This PR is included in version 5.4.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# [5.5.0-alpha.1](v5.4.0...v5.5.0-alpha.1) (2024-10-03) ### Bug Fixes * change the current product criteria for sync ([#3416](#3416)) ([28a84bc](28a84bc)) * **esp-meta:** handle state of the 'Woo Team' meta ([#3352](#3352)) ([ba5ea1e](ba5ea1e)) * **esp-sync:** sync Connected Account field ([#3414](#3414)) ([61c02bc](61c02bc)) * **esp-wc-metadata:** last payment date & amount handling ([#3363](#3363)) ([d1abbfe](d1abbfe)) * **guest-author:** enqueue the guest author admin script selectively ([0bf37af](0bf37af)) * hide My Account links if not relevant ([#3394](#3394)) ([0d039d8](0d039d8)) * make email template fetching deterministic ([#3341](#3341)) ([ace91aa](ace91aa)) * **phpcs:** specify path in custom ruleset ref ([#3384](#3384)) ([b143e74](b143e74)) * prevent PHP notice while checking my-account page ([#3435](#3435)) ([146a26f](146a26f)) * **ras-sync:** deprecate redundant Signup_Page meta field ([#3439](#3439)) ([61d6de8](61d6de8)) * **reader-registration-block:** fix initial newsletter checkbox state ([1890efe](1890efe)) * replace `newspack_image_credits_placeholder` default value ([#3433](#3433)) ([c754fc2](c754fc2)) * **sync:** method name for `membership_saved` handler ([#3399](#3399)) ([2c0bf26](2c0bf26)) * **sync:** place esp sync admin features behind a constant ([#3438](#3438)) ([20a0970](20a0970)) * **sync:** remove localized number format ([#3434](#3434)) ([2243a5d](2243a5d)) * wizards - update type check conditional for `custom_logo` ([#3442](#3442)) ([125f756](125f756)) * woocommerce connection tests ([#3372](#3372)) ([5cea128](5cea128)) * **woocommerce-connection:** handle explicit UTM meta fields meta ([#3371](#3371)) ([bf9e997](bf9e997)) ### Features * add a new action to when a ras setting is updated ([#3357](#3357)) ([35d3492](35d3492)) * **esp-sync:** sync membership data regardless of subscription ([#3353](#3353)) ([9f7d1de](9f7d1de)) * **ga4:** detect gate interaction blocks ([#3408](#3408)) ([e14913c](e14913c)) * **ga:** disable tracking for editors regardless of RA status ([81323c3](81323c3)) * media kit page handling ([#3358](#3358)) ([4454850](4454850)) * **memberships:** add memberships-related body classes ([b56b9d8](b56b9d8)) * **ras:** esp sync tools ([#3359](#3359)) ([d7dd754](d7dd754)) * **ras:** helper method for ESP master list ([#3355](#3355)) ([ec56d5b](ec56d5b)) * **ras:** sync class ([#3362](#3362)) ([88acbee](88acbee)) * **ras:** unify ESP connector strategy for data events ([#3360](#3360)) ([7080864](7080864)) * **reader-activation:** ESP-related tweaks ([#3381](#3381)) ([ac68b67](ac68b67)) * remove Woo Membersip sync fields ([#3411](#3411)) ([28052e8](28052e8)) * **sync:** add ESP sync notice to RAS wizard ([#3400](#3400)) ([f9acd56](f9acd56))
🎉 This PR is included in version 5.5.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# [5.5.0](v5.4.1...v5.5.0) (2024-10-08) ### Bug Fixes * cancelled subscriptions sync ([#3466](#3466)) ([b605a7f](b605a7f)) * change the current product criteria for sync ([#3416](#3416)) ([28a84bc](28a84bc)) * **esp-meta:** handle state of the 'Woo Team' meta ([#3352](#3352)) ([ba5ea1e](ba5ea1e)) * **esp-sync:** sync Connected Account field ([#3414](#3414)) ([61c02bc](61c02bc)) * **esp-wc-metadata:** last payment date & amount handling ([#3363](#3363)) ([d1abbfe](d1abbfe)) * **guest-author:** enqueue the guest author admin script selectively ([0bf37af](0bf37af)) * hide My Account links if not relevant ([#3394](#3394)) ([0d039d8](0d039d8)) * make email template fetching deterministic ([#3341](#3341)) ([ace91aa](ace91aa)) * **phpcs:** specify path in custom ruleset ref ([#3384](#3384)) ([b143e74](b143e74)) * prevent PHP notice while checking my-account page ([#3435](#3435)) ([146a26f](146a26f)) * **ras-sync:** deprecate redundant Signup_Page meta field ([#3439](#3439)) ([61d6de8](61d6de8)) * **reader-registration-block:** fix initial newsletter checkbox state ([1890efe](1890efe)) * replace `newspack_image_credits_placeholder` default value ([#3433](#3433)) ([c754fc2](c754fc2)) * **sync:** method name for `membership_saved` handler ([#3399](#3399)) ([2c0bf26](2c0bf26)) * **sync:** place esp sync admin features behind a constant ([#3438](#3438)) ([20a0970](20a0970)) * **sync:** remove localized number format ([#3434](#3434)) ([2243a5d](2243a5d)) * wizards - update type check conditional for `custom_logo` ([#3442](#3442)) ([125f756](125f756)) * woocommerce connection tests ([#3372](#3372)) ([5cea128](5cea128)) * **woocommerce-connection:** handle explicit UTM meta fields meta ([#3371](#3371)) ([bf9e997](bf9e997)) ### Features * add a new action to when a ras setting is updated ([#3357](#3357)) ([35d3492](35d3492)) * **esp-sync:** sync membership data regardless of subscription ([#3353](#3353)) ([9f7d1de](9f7d1de)) * **ga4:** detect gate interaction blocks ([#3408](#3408)) ([e14913c](e14913c)) * **ga:** disable tracking for editors regardless of RA status ([81323c3](81323c3)) * media kit page handling ([#3358](#3358)) ([4454850](4454850)) * **memberships:** add memberships-related body classes ([b56b9d8](b56b9d8)) * **ras:** esp sync tools ([#3359](#3359)) ([d7dd754](d7dd754)) * **ras:** helper method for ESP master list ([#3355](#3355)) ([ec56d5b](ec56d5b)) * **ras:** sync class ([#3362](#3362)) ([88acbee](88acbee)) * **ras:** unify ESP connector strategy for data events ([#3360](#3360)) ([7080864](7080864)) * **reader-activation:** ESP-related tweaks ([#3381](#3381)) ([ac68b67](ac68b67)) * remove Woo Membersip sync fields ([#3411](#3411)) ([28052e8](28052e8)) * **sync:** add ESP sync notice to RAS wizard ([#3400](#3400)) ([f9acd56](f9acd56))
This was rolled into #3362 and released in https://github.com/Automattic/newspack-plugin/releases/tag/v5.5.0 |
All Submissions:
Changes proposed in this Pull Request:
Newspack will set the
utm
order meta, but when importing data, a one-to-one relation might be needed. In such a case, a field in the imported data would correspond to a string meta field, instead of the UTM params being stored as serialized values.In other words, when an order has
utm_campaign
meta field set, but no value atutm
meta field, the former value should be used forNP_Payment UTM: campaign
ESP meta field.How to test the changes in this Pull Request:
Change should be verifiable by reading the tests, but here are the reproduction steps if need be:
utm_campaign
meta field to some valuetrunk
, observe that\Newspack\WooCommerce_Connection::get_contact_from_order(<order-id>)
won't returnmetadata.NP_Payment UTM: campaign
fieldOther information: