Skip to content

Commit

Permalink
Merge pull request #4847 from wikimedia/T352722
Browse files Browse the repository at this point in the history
Add campaign ID to button taps on campaign modal
  • Loading branch information
mazevedofs committed May 15, 2024
2 parents 81a4811 + 008c066 commit acf5cc6
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 13 deletions.
37 changes: 29 additions & 8 deletions Wikipedia/Code/AppInteractionFunnel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -101,20 +101,41 @@ import WMF
logEvent(activeInterface: .articleBanner, action: .impression, actionData: actionData, project: project)
}

func logFundraisingCampaignModalDidTapClose(project: WikimediaProject) {
logEvent(activeInterface: .articleBanner, action: .closeClick, project: project)
func logFundraisingCampaignModalDidTapClose(project: WikimediaProject, campaignID: String?) {
var actionData: [String: String]?
if let campaignID {
actionData = [:]
actionData?["campaign_id"] = campaignID
}

logEvent(activeInterface: .articleBanner, action: .closeClick, actionData: actionData, project: project)
}

func logFundraisingCampaignModalDidTapDonate(project: WikimediaProject) {
logEvent(activeInterface: .articleBanner, action: .donateClick, project: project)
func logFundraisingCampaignModalDidTapDonate(project: WikimediaProject, campaignID: String?) {
var actionData: [String: String]?
if let campaignID {
actionData = ["campaign_id": campaignID]
}

logEvent(activeInterface: .articleBanner, action: .donateClick, actionData: actionData, project: project)
}

func logFundraisingCampaignModalDidTapMaybeLater(project: WikimediaProject) {
logEvent(activeInterface: .articleBanner, action: .laterClick, project: project)
func logFundraisingCampaignModalDidTapMaybeLater(project: WikimediaProject, campaignID: String?) {
var actionData: [String: String]?
if let campaignID {
actionData = ["campaign_id": campaignID]
}

logEvent(activeInterface: .articleBanner, action: .laterClick, actionData: actionData, project: project)
}

func logFundraisingCampaignModalDidTapAlreadyDonated(project: WikimediaProject) {
logEvent(activeInterface: .articleBanner, action: .alreadyDonatedClick, project: project)
func logFundraisingCampaignModalDidTapAlreadyDonated(project: WikimediaProject, campaignID: String?) {
var actionData: [String: String]?
if let campaignID {
actionData = ["campaign_id": campaignID]
}

logEvent(activeInterface: .articleBanner, action: .alreadyDonatedClick, actionData: actionData, project: project)
}

func logFundraisingCampaignModalDidTapDonorPolicy(project: WikimediaProject) {
Expand Down
10 changes: 5 additions & 5 deletions Wikipedia/Code/ArticleViewController+Announcements.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,25 @@ extension ArticleViewController {

wmf_showFundraisingAnnouncement(theme: theme, asset: asset, primaryButtonTapHandler: { button, _ in

AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapDonate(project: project)
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapDonate(project: project, campaignID: asset.utmSource)
self.pushToDonateForm(asset: asset, sourceView: button)
dataController.markAssetAsPermanentlyHidden(asset: asset)

}, secondaryButtonTapHandler: { _, _ in
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapMaybeLater(project: project)
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapMaybeLater(project: project, campaignID: asset.utmSource)


if shouldShowMaybeLater {
dataController.markAssetAsMaybeLater(asset: asset, currentDate: Date())
self.donateDidSetMaybeLater()
} else {
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapAlreadyDonated(project: project)
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapAlreadyDonated(project: project, campaignID: asset.utmSource)
self.donateAlreadyDonated()
dataController.markAssetAsPermanentlyHidden(asset: asset)
}

}, optionalButtonTapHandler: { _, _ in
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapAlreadyDonated(project: project)
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapAlreadyDonated(project: project, campaignID: asset.utmSource)
self.donateAlreadyDonated()
dataController.markAssetAsPermanentlyHidden(asset: asset)

Expand All @@ -55,7 +55,7 @@ extension ArticleViewController {
}, traceableDismissHandler: { action in

if action == .tappedClose {
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapClose(project: project)
AppInteractionFunnel.shared.logFundraisingCampaignModalDidTapClose(project: project, campaignID: asset.utmSource)
dataController.markAssetAsPermanentlyHidden(asset: asset)
}
}, showMaybeLater: shouldShowMaybeLater)
Expand Down

0 comments on commit acf5cc6

Please sign in to comment.