title: Demographic and Language information not updated in Google analytic account using measurement protocol 4
body: <p>I am using measurement protocol 4 to track desktop application-features.
  I have sent the event to Google analytic 4 account with measurement ID and API_secret and received to GA4 account.</p>
  <p>Request info</p>
  <pre><code>POST /mp/collect?api_secret=xxxxxxxxxxxxxxxxxxxxxx&amp;measurement_id=G-xxxxxxxxxx HTTP/1.1
  HOST: www.google-analytics.com
  Content-Type: application/json
  </code></pre>
  <p>Payload</p>
  <pre><code>{
    &quot;client_id&quot;: &quot;XXXXXXXXXXXXXXXX&quot;,
    &quot;user_properties&quot;: {
      &quot;Language&quot;: {
        &quot;value&quot;: &quot;en-us&quot;
      }
    },
    &quot;events&quot;: [
      {
        &quot;name&quot;: &quot;license&quot;,
        &quot;params&quot;: {
          &quot;LicenseType&quot;: &quot;Trial&quot;,
          &quot;Expiration&quot;: &quot;20 OCT 2022&quot;
        }
      }
    ]
  }
  </code></pre>
  <p>We have sending payload  same using &quot;WPF&quot; and &quot;C#&quot; in my desktop app with below codes.</p>
  <pre><code>private void SendRequest(string payloadJson)
  {
      try
      {
          string url = string.Format(@&quot;https://www.google-analytics.com/mp/collect?measurement_id={0}&amp;api_secret={1}&quot;, mesurement_id, api_secret);
          HttpWebRequest httpWebRequest = WebRequest.Create(url) as HttpWebRequest;
          if (httpWebRequest != null)
          {
              httpWebRequest.Method = &quot;POST&quot;;
              var requestBody = Encoding.UTF8.GetBytes(payloadJson);
              httpWebRequest.ContentType = &quot;application/json&quot;;
              using (var requestStream = httpWebRequest.GetRequestStream())
              {
                  requestStream.Write(requestBody, 0, requestBody.Length);
              }
              using (var response = (HttpWebResponse)httpWebRequest.GetResponse())
              {
                  if (response.StatusCode != HttpStatusCode.OK &amp;&amp; response.StatusCode != HttpStatusCode.NoContent)
                      throw new Exception(String.Format(&quot;Server error (HTTP {0}: {1}).&quot;, response.StatusCode, response.StatusDescription));
              }
          }
      }
      catch (Exception ex)
      {
      }
  }
  </code></pre>
  <p>With above code, I am received event to my google analytic 4 account for above payload.
  I have observed that Demographic section is empty by sending payload as above method.</p>
  <p><strong>Note</strong>: sending event to google analytic 3 (Universal Account) using measurement protocol 3 demographics is fill base on received event hit.</p>
  <p>I have enabled the google signal to fill the Demographics as per received event. But still details not fill by sending event (I have tried after 48hrs).</p>
  <p>Kindly someone help to resolve demographic by sending event.</p>