<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="partners_v2.html">Google Partners API</a> . <a href="partners_v2.userEvents.html">userEvents</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#log">log(body, x__xgafv=None)</a></code></p>
<p class="firstline">Logs a user event.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="log">log(body, x__xgafv=None)</code>
  <pre>Logs a user event.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request message for LogUserEvent.
    "lead": { # A lead resource that represents an advertiser contact for a `Company`. These are usually generated via Google Partner Search (the advertiser portal). # Advertiser lead information.
      "gpsMotivations": [ # List of reasons for using Google Partner Search and creating a lead.
        "A String",
      ],
      "familyName": "A String", # Last name of lead source.
      "minMonthlyBudget": { # Represents an amount of money with its currency type. # The minimum monthly budget lead source is willing to spend.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
      },
      "comments": "A String", # Comments lead source gave.
      "email": "A String", # Email address of lead source.
      "websiteUrl": "A String", # Website URL of lead source.
      "phoneNumber": "A String", # Phone number of lead source.
      "givenName": "A String", # First name of lead source.
      "type": "A String", # Type of lead.
      "id": "A String", # ID of the lead.
    },
    "url": "A String", # The URL where the event occurred.
    "eventDatas": [ # List of event data for the event.
      { # Key value data pair for an event.
        "values": [ # Data values.
          "A String",
        ],
        "key": "A String", # Data type.
      },
    ],
    "eventAction": "A String", # The action that occurred.
    "eventCategory": "A String", # The category the action belongs to.
    "requestMetadata": { # Common data that is in each API request. # Current request metadata.
      "locale": "A String", # Locale to use for the current request.
      "partnersSessionId": "A String", # Google Partners session ID.
      "trafficSource": { # Source of traffic for the current request. # Source of traffic for the current request.
        "trafficSubId": "A String", # Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.
        "trafficSourceId": "A String", # Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.
      },
      "userOverrides": { # Values to use instead of the user's respective defaults. These are only honored by whitelisted products. # Values to use instead of the user's respective defaults for the current request. These are only honored by whitelisted products.
        "userId": "A String", # Logged-in user ID to impersonate instead of the user's ID.
        "ipAddress": "A String", # IP address to use instead of the user's geo-located IP address.
      },
      "experimentIds": [ # Experiment IDs the current request belongs to.
        "A String",
      ],
    },
    "eventScope": "A String", # The scope of the event.
  }

  x__xgafv: string, V1 error format.

Returns:
  An object of the form:

    { # Response message for LogUserEvent.
    "responseMetadata": { # Common data that is in each API response. # Current response metadata.
      "debugInfo": { # Debug information about this request. # Debug information about this request.
        "serverTraceInfo": "A String", # Server-side debug stack trace.
        "serviceUrl": "A String", # URL of the service that handled this request.
        "serverInfo": "A String", # Info about the server that serviced this request.
      },
    },
  }</pre>
</div>

</body></html>