title: How to fill the Tech Overview data in Google Analytics 4 (GA4)?
body: <p>I'm using GA4 Measurement Protocol to record events from a Roku application. This is not a web or Android/iOS app and there's no SDK for GA4, so I need to record events the same way I would do from a server: HTTP requests using the Measurement Protocol as if I had a gtag installed in my app.</p>
  <p>If I go to <code>Reports &gt; Tech &gt; Tech overview</code> in my property's dashboard I see metrics like:</p>
  <ul>
  <li>Users by Platform</li>
  <li>Users by Operating System</li>
  <li>Users by Device Category</li>
  <li>Users by App version</li>
  <li>Users by Device Model</li>
  </ul>
  <p>I don't know how to populate these values using <a href="https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events?client_type=gtag" rel="nofollow noreferrer">GA4's Measurement Protocol</a>. So far my requests look like this</p>
  <pre><code>POST /mp/collect HTTP/1.1
  HOST: www.google-analytics.com
  Content-Type: application/json
  </code></pre>
  <p>Query params:</p>
  <pre><code>api_secret: XXXX
  measurement_id: XXXX
  </code></pre>
  <p>Request body</p>
  <pre><code>{
      &quot;client_id&quot;: &quot;some random id because i don't actually have a gtag to generate it&quot;,
      &quot;user_id&quot;: &quot;a unique id generated by the device&quot;,
      &quot;non_personalized_ads&quot;: false,
      &quot;user_properties&quot;: {
          &quot;device_id&quot;: {
              &quot;value&quot;: &quot;same as user_id, just to have it as a user property&quot;
          }
      },
      &quot;events&quot;: [
          {
              &quot;name&quot;: &quot;custom_event1&quot;,
              &quot;params&quot;: {
  
                  &quot;engagement_time_msec&quot;: &quot;1&quot;, // need to have this as &gt; 0 otherwise it GA4 won't show the user
                  &quot;session_id&quot;: &quot;another random id generated by the device so that i can start a session&quot;,
                  &quot;param1&quot;: &quot;xyz&quot;
              }
          }
      ]
  }
  </code></pre>
  <p>For populating the Users by OS table, I read in other posts that I should use the <code>ua</code> query param, but it's not working for me with this value, which is what I send to my backend: <code>Roku/DVP-11.0 (11.0.0.4184-AE)</code></p>