Send is_tablet on ATB install/activity requests - #9541
Draft
GerardPaligot wants to merge 2 commits into
Draft
Conversation
ATB and search typetags predate the form factor stamping the app already does on pixels, so retention pipelines could not tell Android tablets apart from phones. Add is_tablet=0/1 to exti and atb.js requests using the same >=600dp definition the pixel form factor uses.
Sends ddg_android_tablet / ddg_androideu_tablet on search requests from Android tablets in DuckDuckGoRequestRewriter, the single choke point both omnibar queries and SERP navigations funnel through. Whether ddg_androideu_tablet is needed at all, and whether either typetag affects k-anonymity bucket sizing on the Bing side, is still being discussed on the Asana task - do not merge until resolved.
GerardPaligot
marked this pull request as draft
August 19, 2026 15:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/project/715106103902962/task/1213321438935159?focus=true
Tech Design URL (if applicable): N/A
API Proposals URL(s) (if applicable): N/A
Description
Adds
is_tabletflag on ATB requests, and tablet-specifict=typetags on search requests, so retention and traffic pipelines can distinguish Android tablets from phones the way pixels already do via form factor.Steps to test this PR
ATB happy path
/exti/and/atb.jsrequests (app inspection) → confirmis_tablet=0.is_tablet=1.Search typetag happy path (blocked commit — verify only, do not merge)
t=ddg_android_tablet.t=ddg_android.UI changes
No user-facing UI changeis
Note
Medium Risk
Changes outbound analytics URL shape for all ATB and SERP requests; low user-facing risk but backend must accept new params and typetags.
Overview
Adds tablet vs phone signaling to statistics and search traffic so retention pipelines can split Android tablets the same way pixels use form factor.
ATB / retention HTTP:
StatisticsRequesternow injectsDeviceInfoand sendsis_tablet=0|1on/atb.js,/exti/, and all retention refresh endpoints via newStatisticsServicequery parameters.Search URLs:
DuckDuckGoRequestRewriterpicks thet=source typetag from device form factor and EU auction install source—e.g.ddg_android_tablet/ddg_androideu_tabletinstead of phone values. New constants live inAppUrl.ParamKey.IS_TABLETandParamValuetablet source strings.Tests and DI (
BrowserModule, integration/unit tests) were updated to mockDeviceInfoand assert the new query params.Reviewed by Cursor Bugbot for commit f648f18. Bugbot is set up for automated code reviews on this repo. Configure here.