<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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.mcf.html">mcf</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</a></code></p>
<p class="firstline">Returns Analytics Multi-Channel Funnels data for a profile.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(ids, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</code>
  <pre>Returns Analytics Multi-Channel Funnels data for a profile.

Args:
  ids: string, Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics profile ID. (required)
  start_date: string, Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. (required)
  end_date: string, End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. (required)
  metrics: string, A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. (required)
  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.
  dimensions: string, A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.
  filters: string, A comma-separated list of dimension or metric filters to be applied to the Analytics data.
  max_results: integer, The maximum number of entries to include in this feed.
  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

Returns:
  An object of the form:

    { # Multi-Channel Funnels data for a given profile.
    "kind": "analytics#mcfData", # Resource type.
    "rows": [ # Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.
      [
        { # A union object representing a dimension or metric value. Only one of "primitiveValue" or "conversionPathValue" attribute will be populated.
          "primitiveValue": "A String", # A primitive dimension value. A primitive metric value.
          "conversionPathValue": [ # A conversion path dimension value, containing a list of interactions with their attributes.
            {
              "nodeValue": "A String", # Node value of an interaction on conversion path. Such as source, medium etc.
              "interactionType": "A String", # Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.
            },
          ],
        },
      ],
    ],
    "containsSampledData": True or False, # Determines if the Analytics data contains sampled data.
    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
    "itemsPerPage": 42, # The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
    "totalsForAllResults": { # Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.
      "a_key": "A String", # Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.
    },
    "nextLink": "A String", # Link to next page for this Analytics data query.
    "id": "A String", # Unique ID for this data response.
    "query": { # Analytics data request query parameters.
      "max-results": 42, # Maximum results per page.
      "sort": [ # List of dimensions or metrics based on which Analytics data is sorted.
        "A String",
      ],
      "dimensions": "A String", # List of analytics dimensions.
      "start-date": "A String", # Start date.
      "start-index": 42, # Start index.
      "segment": "A String", # Analytics advanced segment.
      "ids": "A String", # Unique table ID.
      "metrics": [ # List of analytics metrics.
        "A String",
      ],
      "filters": "A String", # Comma-separated list of dimension or metric filters.
      "end-date": "A String", # End date.
    },
    "previousLink": "A String", # Link to previous page for this Analytics data query.
    "profileInfo": { # Information for the profile, for which the Analytics data was requested.
      "webPropertyId": "A String", # Web Property ID to which this profile belongs.
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this profile belongs.
      "tableId": "A String", # Table ID for profile.
      "profileId": "A String", # Profile ID.
      "profileName": "A String", # Profile name.
      "accountId": "A String", # Account ID to which this profile belongs.
    },
    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
      {
        "dataType": "A String", # Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.
        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
        "name": "A String", # Column name.
      },
    ],
    "selfLink": "A String", # Link to this page.
  }</pre>
</div>

</body></html>