0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-03 23:00:14 -05:00

Handled storing referrer information in DB

refs https://github.com/TryGhost/Team/issues/1931

- stores `referrer_source`, `referrer_medium` and `referrer_url` in event tables for new members and paid subscriptions
This commit is contained in:
Rishabh 2022-09-21 15:04:23 +05:30 committed by Rishabh Garg
parent 3b9998cdd6
commit bb0d900937
3 changed files with 21 additions and 9 deletions

View file

@ -228,15 +228,15 @@ module.exports = class RouterController {
} }
if (attribution.refSource) { if (attribution.refSource) {
metadata.attribution_ref_source = attribution.refSource; metadata.referrer_source = attribution.refSource;
} }
if (attribution.refMedium) { if (attribution.refMedium) {
metadata.attribution_ref_medium = attribution.refMedium; metadata.referrer_medium = attribution.refMedium;
} }
if (attribution.refUrl) { if (attribution.refUrl) {
metadata.attribution_ref_url = attribution.refUrl; metadata.referrer_url = attribution.refUrl;
} }
} }

View file

@ -5,8 +5,8 @@ const {MemberCreatedEvent, SubscriptionCreatedEvent} = require('@tryghost/member
*/ */
class EventStorage { class EventStorage {
/** /**
* *
* @param {Object} deps * @param {Object} deps
* @param {Object} deps.labsService * @param {Object} deps.labsService
* @param {Object} deps.models * @param {Object} deps.models
* @param {Object} deps.models.MemberCreatedEvent * @param {Object} deps.models.MemberCreatedEvent
@ -37,7 +37,10 @@ class EventStorage {
attribution_id: attribution?.id ?? null, attribution_id: attribution?.id ?? null,
attribution_url: attribution?.url ?? null, attribution_url: attribution?.url ?? null,
attribution_type: attribution?.type ?? null, attribution_type: attribution?.type ?? null,
source: event.data.source source: event.data.source,
referrer_source: attribution?.refSource ?? null,
referrer_medium: attribution?.refMedium ?? null,
referrer_url: attribution?.refUrl ?? null
}); });
}); });
@ -56,7 +59,10 @@ class EventStorage {
created_at: event.timestamp, created_at: event.timestamp,
attribution_id: attribution?.id ?? null, attribution_id: attribution?.id ?? null,
attribution_url: attribution?.url ?? null, attribution_url: attribution?.url ?? null,
attribution_type: attribution?.type ?? null attribution_type: attribution?.type ?? null,
referrer_source: attribution?.refSource ?? null,
referrer_medium: attribution?.refMedium ?? null,
referrer_url: attribution?.refUrl ?? null
}); });
}); });
} }

View file

@ -226,7 +226,10 @@ module.exports = class WebhookController {
const attribution = { const attribution = {
id: session.metadata.attribution_id ?? null, id: session.metadata.attribution_id ?? null,
url: session.metadata.attribution_url ?? null, url: session.metadata.attribution_url ?? null,
type: session.metadata.attribution_type ?? null type: session.metadata.attribution_type ?? null,
refSource: session.metadata.referrer_source ?? null,
refMedium: session.metadata.referrer_medium ?? null,
refUrl: session.metadata.referrer_url ?? null
}; };
const payerName = _.get(customer, 'subscriptions.data[0].default_payment_method.billing_details.name'); const payerName = _.get(customer, 'subscriptions.data[0].default_payment_method.billing_details.name');
@ -254,7 +257,10 @@ module.exports = class WebhookController {
const attribution = { const attribution = {
id: session.metadata?.attribution_id ?? null, id: session.metadata?.attribution_id ?? null,
url: session.metadata?.attribution_url ?? null, url: session.metadata?.attribution_url ?? null,
type: session.metadata?.attribution_type ?? null type: session.metadata?.attribution_type ?? null,
refSource: session.metadata.referrer_source ?? null,
refMedium: session.metadata.referrer_medium ?? null,
refUrl: session.metadata.referrer_url ?? null
}; };
if (payerName && !member.get('name')) { if (payerName && !member.get('name')) {