Skip to content

Commit eab58d0

Browse files
authored
Onboarding: Remove temporary pixel for visit site CTA (#6379)
Task/Issue URL: https://app.asana.com/1/137249556945/project/1176956903599313/task/1209716934407463?focus=true ### Description Remove temporary pixel count for visit site onboarding dialog ### Steps to test this PR _Context Visit Site onboarding dialog_ - [x] Fresh install - [x] Once in the browser, tap on a search suggestion - [x] Dismiss SERP dialog - [x] In-context _Visit Site_ dialog is shown - [x] _Logcat:_ Check `onboarding_visit_site_cta_shown` pixel is **not** fired _In-context Visit Site onboarding dialog_ - [x] Fresh install - [x] Once in the browser, tap on a search suggestion - [x] Open a new tab - [x] Context _Visit Site_ dialog is shown - [x] _Logcat:_ Check `onboarding_visit_site_cta_shown` pixel is **not** fired ### No UI changes
1 parent 1653bd1 commit eab58d0

File tree

7 files changed

+0
-36
lines changed

7 files changed

+0
-36
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,6 @@ class BrowserTabViewModelTest {
670670
subscriptions = subscriptions,
671671
duckPlayer = mockDuckPlayer,
672672
brokenSitePrompt = mockBrokenSitePrompt,
673-
userBrowserProperties = mockUserBrowserProperties,
674673
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
675674
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
676675
)

app/src/androidTest/java/com/duckduckgo/app/cta/ui/CtaViewModelTest.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ import com.duckduckgo.app.trackerdetection.model.TrackingEvent
5353
import com.duckduckgo.app.widget.ui.WidgetCapabilities
5454
import com.duckduckgo.brokensite.api.BrokenSitePrompt
5555
import com.duckduckgo.brokensite.api.RefreshPattern
56-
import com.duckduckgo.browser.api.UserBrowserProperties
5756
import com.duckduckgo.common.test.CoroutineTestRule
5857
import com.duckduckgo.common.test.InstantSchedulersRule
5958
import com.duckduckgo.duckplayer.api.DuckPlayer
@@ -121,8 +120,6 @@ class CtaViewModelTest {
121120

122121
private val mockBrokenSitePrompt: BrokenSitePrompt = mock()
123122

124-
private val mockUserBrowserProperties: UserBrowserProperties = mock()
125-
126123
private val mockSenseOfProtectionExperiment: SenseOfProtectionExperiment = mock()
127124
private val mockOnboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment = mock()
128125

@@ -179,7 +176,6 @@ class CtaViewModelTest {
179176
subscriptions = mockSubscriptions,
180177
duckPlayer = mockDuckPlayer,
181178
brokenSitePrompt = mockBrokenSitePrompt,
182-
userBrowserProperties = mockUserBrowserProperties,
183179
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
184180
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
185181
)

app/src/main/java/com/duckduckgo/app/cta/ui/CtaViewModel.kt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,13 @@ import com.duckduckgo.app.onboarding.store.OnboardingStore
3838
import com.duckduckgo.app.onboarding.store.UserStageStore
3939
import com.duckduckgo.app.onboarding.store.daxOnboardingActive
4040
import com.duckduckgo.app.onboarding.ui.page.extendedonboarding.ExtendedOnboardingFeatureToggles
41-
import com.duckduckgo.app.pixels.AppPixelName
4241
import com.duckduckgo.app.privacy.db.UserAllowListRepository
4342
import com.duckduckgo.app.settings.db.SettingsDataStore
4443
import com.duckduckgo.app.statistics.pixels.Pixel
4544
import com.duckduckgo.app.tabs.model.TabRepository
4645
import com.duckduckgo.app.widget.ui.WidgetCapabilities
4746
import com.duckduckgo.brokensite.api.BrokenSitePrompt
4847
import com.duckduckgo.brokensite.api.RefreshPattern
49-
import com.duckduckgo.browser.api.UserBrowserProperties
5048
import com.duckduckgo.common.utils.DispatcherProvider
5149
import com.duckduckgo.di.scopes.AppScope
5250
import com.duckduckgo.duckplayer.api.DuckPlayer
@@ -86,7 +84,6 @@ class CtaViewModel @Inject constructor(
8684
private val subscriptions: Subscriptions,
8785
private val duckPlayer: DuckPlayer,
8886
private val brokenSitePrompt: BrokenSitePrompt,
89-
private val userBrowserProperties: UserBrowserProperties,
9087
private val senseOfProtectionExperiment: SenseOfProtectionExperiment,
9188
private val onboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment,
9289
) {
@@ -153,18 +150,6 @@ class CtaViewModel @Inject constructor(
153150
if (cta is BrokenSitePromptDialogCta) {
154151
brokenSitePrompt.ctaShown()
155152
}
156-
157-
// Temporary pixel
158-
val isVisitSiteSuggestionsCta = cta is DaxBubbleCta.DaxIntroVisitSiteOptionsCta || cta is OnboardingDaxDialogCta.DaxSiteSuggestionsCta
159-
if (isVisitSiteSuggestionsCta) {
160-
if (userBrowserProperties.daysSinceInstalled() <= MIN_DAYS_TO_COUNT_ONBOARDING_CTA_SHOWN) {
161-
val count = onboardingStore.visitSiteCtaDisplayCount ?: 0
162-
pixel.fire(AppPixelName.ONBOARDING_VISIT_SITE_CTA_SHOWN, mapOf("count" to count.toString()))
163-
onboardingStore.visitSiteCtaDisplayCount = count + 1
164-
} else {
165-
onboardingStore.clearVisitSiteCtaDisplayCount()
166-
}
167-
}
168153
}
169154
}
170155

@@ -501,6 +486,5 @@ class CtaViewModel @Inject constructor(
501486

502487
companion object {
503488
private const val MAX_TABS_OPEN_FIRE_EDUCATION = 2
504-
private const val MIN_DAYS_TO_COUNT_ONBOARDING_CTA_SHOWN = 3
505489
}
506490
}

app/src/main/java/com/duckduckgo/app/onboarding/store/OnboardingStore.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ import com.duckduckgo.app.cta.ui.DaxBubbleCta.DaxDialogIntroOption
2020

2121
interface OnboardingStore {
2222
var onboardingDialogJourney: String?
23-
var visitSiteCtaDisplayCount: Int
2423

2524
@Deprecated(message = "Parameter used for a temporary pixel")
2625
fun getSearchOptions(): List<DaxDialogIntroOption>
2726
fun getSitesOptions(): List<DaxDialogIntroOption>
2827
fun getExperimentSearchOptions(): List<DaxDialogIntroOption>
29-
fun clearVisitSiteCtaDisplayCount()
3028
}

app/src/main/java/com/duckduckgo/app/onboarding/store/OnboardingStoreImpl.kt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ class OnboardingStoreImpl @Inject constructor(
3535
get() = preferences.getString(ONBOARDING_JOURNEY, null)
3636
set(dialogJourney) = preferences.edit { putString(ONBOARDING_JOURNEY, dialogJourney) }
3737

38-
override var visitSiteCtaDisplayCount: Int
39-
get() = preferences.getInt(VISIT_SITE_CTA_DISPLAY_COUNT, 0)
40-
set(count) = preferences.edit { putInt(VISIT_SITE_CTA_DISPLAY_COUNT, count) }
41-
4238
override fun getSearchOptions(): List<DaxDialogIntroOption> {
4339
val country = Locale.getDefault().country
4440
val language = Locale.getDefault().language
@@ -211,13 +207,8 @@ class OnboardingStoreImpl @Inject constructor(
211207
)
212208
}
213209

214-
override fun clearVisitSiteCtaDisplayCount() {
215-
preferences.edit { remove(VISIT_SITE_CTA_DISPLAY_COUNT) }
216-
}
217-
218210
companion object {
219211
const val FILENAME = "com.duckduckgo.app.onboarding.settings"
220212
const val ONBOARDING_JOURNEY = "onboardingJourney"
221-
const val VISIT_SITE_CTA_DISPLAY_COUNT = "visitSiteCtaDisplayCount"
222213
}
223214
}

app/src/main/java/com/duckduckgo/app/pixels/AppPixelName.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ enum class AppPixelName(override val pixelName: String) : Pixel.PixelName {
5353
ONBOARDING_DAX_ALL_CTA_HIDDEN("m_odc_h"),
5454
ONBOARDING_DAX_CTA_OK_BUTTON("m_odc_ok"),
5555
ONBOARDING_DAX_CTA_DISMISS_BUTTON("m_onboarding_dax_cta_dismiss"),
56-
ONBOARDING_VISIT_SITE_CTA_SHOWN("onboarding_visit_site_cta_shown"),
5756

5857
BROWSER_MENU_ALLOWLIST_ADD("mb_wla"),
5958
BROWSER_MENU_ALLOWLIST_REMOVE("mb_wlr"),

app/src/test/java/com/duckduckgo/app/cta/ui/OnboardingDaxDialogTests.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import com.duckduckgo.app.statistics.pixels.Pixel
4141
import com.duckduckgo.app.tabs.model.TabRepository
4242
import com.duckduckgo.app.widget.ui.WidgetCapabilities
4343
import com.duckduckgo.brokensite.api.BrokenSitePrompt
44-
import com.duckduckgo.browser.api.UserBrowserProperties
4544
import com.duckduckgo.common.test.CoroutineTestRule
4645
import com.duckduckgo.duckplayer.api.DuckPlayer
4746
import com.duckduckgo.feature.toggles.api.Toggle
@@ -82,7 +81,6 @@ class OnboardingDaxDialogTests {
8281
private val mockDuckPlayer: DuckPlayer = mock()
8382
private val mockBrokenSitePrompt: BrokenSitePrompt = mock()
8483
private val mockRefreshPixelSender: RefreshPixelSender = mock()
85-
private val mockUserBrowserProperties: UserBrowserProperties = mock()
8684
private val mockSubscriptions: Subscriptions = mock()
8785
private val mockSenseOfProtectionExperiment: SenseOfProtectionExperiment = mock()
8886
private val mockOnboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment = mock()
@@ -112,7 +110,6 @@ class OnboardingDaxDialogTests {
112110
mockSubscriptions,
113111
mockDuckPlayer,
114112
mockBrokenSitePrompt,
115-
mockUserBrowserProperties,
116113
mockSenseOfProtectionExperiment,
117114
mockOnboardingHomeScreenWidgetExperiment,
118115
)

0 commit comments

Comments
 (0)