<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.management.html">management</a> . <a href="analytics_v3.management.goals.html">goals</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(accountId, webPropertyId, profileId, goalId)</a></code></p>
<p class="firstline">Gets a goal to which the user has access.</p>
<p class="toc_element">
  <code><a href="#insert">insert(accountId, webPropertyId, profileId, body)</a></code></p>
<p class="firstline">Create a new goal.</p>
<p class="toc_element">
  <code><a href="#list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</a></code></p>
<p class="firstline">Lists goals to which the user has access.</p>
<p class="toc_element">
  <code><a href="#patch">patch(accountId, webPropertyId, profileId, goalId, body)</a></code></p>
<p class="firstline">Updates an existing goal. This method supports patch semantics.</p>
<p class="toc_element">
  <code><a href="#update">update(accountId, webPropertyId, profileId, goalId, body)</a></code></p>
<p class="firstline">Updates an existing goal.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(accountId, webPropertyId, profileId, goalId)</code>
  <pre>Gets a goal to which the user has access.

Args:
  accountId: string, Account ID to retrieve the goal for. (required)
  webPropertyId: string, Web property ID to retrieve the goal for. (required)
  profileId: string, View (Profile) ID to retrieve the goal for. (required)
  goalId: string, Goal ID to retrieve the goal for. (required)

Returns:
  An object of the form:

    { # JSON template for Analytics goal resource.
      "kind": "analytics#goal", # Resource type for an Analytics goal.
      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "name": "A String", # Goal name.
      "created": "A String", # Time this goal was created.
      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
        "url": "A String", # URL for this goal.
        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
        "steps": [ # List of steps configured for this goal funnel.
          {
            "url": "A String", # URL for this step.
            "name": "A String", # Step name.
            "number": 42, # Step number.
          },
        ],
        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
      },
      "updated": "A String", # Time this goal was last modified.
      "value": 3.14, # Goal value.
      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
      "eventDetails": { # Details for the goal of the type EVENT.
        "eventConditions": [ # List of event conditions.
          {
            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
            "expression": "A String", # Expression used for this match.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
            "comparisonValue": "A String", # Value used for this comparison.
          },
        ],
        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
      },
      "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
      "active": True or False, # Determines whether this goal is active.
      "profileId": "A String", # View (Profile) ID to which this goal belongs.
      "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
        "href": "A String", # Link to the view (profile) to which this goal belongs.
        "type": "analytics#profile", # Value is "analytics#profile".
      },
      "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
      "id": "A String", # Goal ID.
      "selfLink": "A String", # Link for this goal.
      "accountId": "A String", # Account ID to which this goal belongs.
    }</pre>
</div>

<div class="method">
    <code class="details" id="insert">insert(accountId, webPropertyId, profileId, body)</code>
  <pre>Create a new goal.

Args:
  accountId: string, Account ID to create the goal for. (required)
  webPropertyId: string, Web property ID to create the goal for. (required)
  profileId: string, View (Profile) ID to create the goal for. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # JSON template for Analytics goal resource.
    "kind": "analytics#goal", # Resource type for an Analytics goal.
    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "name": "A String", # Goal name.
    "created": "A String", # Time this goal was created.
    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
      "url": "A String", # URL for this goal.
      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
      "steps": [ # List of steps configured for this goal funnel.
        {
          "url": "A String", # URL for this step.
          "name": "A String", # Step name.
          "number": 42, # Step number.
        },
      ],
      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
    },
    "updated": "A String", # Time this goal was last modified.
    "value": 3.14, # Goal value.
    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
    "eventDetails": { # Details for the goal of the type EVENT.
      "eventConditions": [ # List of event conditions.
        {
          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
          "expression": "A String", # Expression used for this match.
          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
          "comparisonValue": "A String", # Value used for this comparison.
        },
      ],
      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
    },
    "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
    "active": True or False, # Determines whether this goal is active.
    "profileId": "A String", # View (Profile) ID to which this goal belongs.
    "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
      "href": "A String", # Link to the view (profile) to which this goal belongs.
      "type": "analytics#profile", # Value is "analytics#profile".
    },
    "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
    "id": "A String", # Goal ID.
    "selfLink": "A String", # Link for this goal.
    "accountId": "A String", # Account ID to which this goal belongs.
  }


Returns:
  An object of the form:

    { # JSON template for Analytics goal resource.
      "kind": "analytics#goal", # Resource type for an Analytics goal.
      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "name": "A String", # Goal name.
      "created": "A String", # Time this goal was created.
      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
        "url": "A String", # URL for this goal.
        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
        "steps": [ # List of steps configured for this goal funnel.
          {
            "url": "A String", # URL for this step.
            "name": "A String", # Step name.
            "number": 42, # Step number.
          },
        ],
        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
      },
      "updated": "A String", # Time this goal was last modified.
      "value": 3.14, # Goal value.
      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
      "eventDetails": { # Details for the goal of the type EVENT.
        "eventConditions": [ # List of event conditions.
          {
            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
            "expression": "A String", # Expression used for this match.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
            "comparisonValue": "A String", # Value used for this comparison.
          },
        ],
        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
      },
      "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
      "active": True or False, # Determines whether this goal is active.
      "profileId": "A String", # View (Profile) ID to which this goal belongs.
      "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
        "href": "A String", # Link to the view (profile) to which this goal belongs.
        "type": "analytics#profile", # Value is "analytics#profile".
      },
      "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
      "id": "A String", # Goal ID.
      "selfLink": "A String", # Link for this goal.
      "accountId": "A String", # Account ID to which this goal belongs.
    }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
  <pre>Lists goals to which the user has access.

Args:
  accountId: string, Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. (required)
  webPropertyId: string, Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. (required)
  profileId: string, View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. (required)
  max_results: integer, The maximum number of goals to include in this response.
  start_index: integer, An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

Returns:
  An object of the form:

    { # A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal.
    "username": "A String", # Email ID of the authenticated user
    "kind": "analytics#goals", # Collection type.
    "items": [ # A list of goals.
      { # JSON template for Analytics goal resource.
          "kind": "analytics#goal", # Resource type for an Analytics goal.
          "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
            "comparisonValue": "A String", # Value used for this comparison.
          },
          "name": "A String", # Goal name.
          "created": "A String", # Time this goal was created.
          "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
            "url": "A String", # URL for this goal.
            "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
            "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
            "steps": [ # List of steps configured for this goal funnel.
              {
                "url": "A String", # URL for this step.
                "name": "A String", # Step name.
                "number": 42, # Step number.
              },
            ],
            "firstStepRequired": True or False, # Determines if the first step in this goal is required.
          },
          "updated": "A String", # Time this goal was last modified.
          "value": 3.14, # Goal value.
          "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
            "comparisonValue": "A String", # Value used for this comparison.
          },
          "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
          "eventDetails": { # Details for the goal of the type EVENT.
            "eventConditions": [ # List of event conditions.
              {
                "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
                "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
                "expression": "A String", # Expression used for this match.
                "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
                "comparisonValue": "A String", # Value used for this comparison.
              },
            ],
            "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
          },
          "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
          "active": True or False, # Determines whether this goal is active.
          "profileId": "A String", # View (Profile) ID to which this goal belongs.
          "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
            "href": "A String", # Link to the view (profile) to which this goal belongs.
            "type": "analytics#profile", # Value is "analytics#profile".
          },
          "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
          "id": "A String", # Goal ID.
          "selfLink": "A String", # Link for this goal.
          "accountId": "A String", # Account ID to which this goal belongs.
        },
    ],
    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
    "previousLink": "A String", # Link to previous page for this goal collection.
    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
    "nextLink": "A String", # Link to next page for this goal collection.
    "totalResults": 42, # The total number of results for the query, regardless of the number of resources in the result.
  }</pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(accountId, webPropertyId, profileId, goalId, body)</code>
  <pre>Updates an existing goal. This method supports patch semantics.

Args:
  accountId: string, Account ID to update the goal. (required)
  webPropertyId: string, Web property ID to update the goal. (required)
  profileId: string, View (Profile) ID to update the goal. (required)
  goalId: string, Index of the goal to be updated. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # JSON template for Analytics goal resource.
    "kind": "analytics#goal", # Resource type for an Analytics goal.
    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "name": "A String", # Goal name.
    "created": "A String", # Time this goal was created.
    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
      "url": "A String", # URL for this goal.
      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
      "steps": [ # List of steps configured for this goal funnel.
        {
          "url": "A String", # URL for this step.
          "name": "A String", # Step name.
          "number": 42, # Step number.
        },
      ],
      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
    },
    "updated": "A String", # Time this goal was last modified.
    "value": 3.14, # Goal value.
    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
    "eventDetails": { # Details for the goal of the type EVENT.
      "eventConditions": [ # List of event conditions.
        {
          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
          "expression": "A String", # Expression used for this match.
          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
          "comparisonValue": "A String", # Value used for this comparison.
        },
      ],
      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
    },
    "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
    "active": True or False, # Determines whether this goal is active.
    "profileId": "A String", # View (Profile) ID to which this goal belongs.
    "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
      "href": "A String", # Link to the view (profile) to which this goal belongs.
      "type": "analytics#profile", # Value is "analytics#profile".
    },
    "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
    "id": "A String", # Goal ID.
    "selfLink": "A String", # Link for this goal.
    "accountId": "A String", # Account ID to which this goal belongs.
  }


Returns:
  An object of the form:

    { # JSON template for Analytics goal resource.
      "kind": "analytics#goal", # Resource type for an Analytics goal.
      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "name": "A String", # Goal name.
      "created": "A String", # Time this goal was created.
      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
        "url": "A String", # URL for this goal.
        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
        "steps": [ # List of steps configured for this goal funnel.
          {
            "url": "A String", # URL for this step.
            "name": "A String", # Step name.
            "number": 42, # Step number.
          },
        ],
        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
      },
      "updated": "A String", # Time this goal was last modified.
      "value": 3.14, # Goal value.
      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
      "eventDetails": { # Details for the goal of the type EVENT.
        "eventConditions": [ # List of event conditions.
          {
            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
            "expression": "A String", # Expression used for this match.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
            "comparisonValue": "A String", # Value used for this comparison.
          },
        ],
        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
      },
      "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
      "active": True or False, # Determines whether this goal is active.
      "profileId": "A String", # View (Profile) ID to which this goal belongs.
      "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
        "href": "A String", # Link to the view (profile) to which this goal belongs.
        "type": "analytics#profile", # Value is "analytics#profile".
      },
      "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
      "id": "A String", # Goal ID.
      "selfLink": "A String", # Link for this goal.
      "accountId": "A String", # Account ID to which this goal belongs.
    }</pre>
</div>

<div class="method">
    <code class="details" id="update">update(accountId, webPropertyId, profileId, goalId, body)</code>
  <pre>Updates an existing goal.

Args:
  accountId: string, Account ID to update the goal. (required)
  webPropertyId: string, Web property ID to update the goal. (required)
  profileId: string, View (Profile) ID to update the goal. (required)
  goalId: string, Index of the goal to be updated. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # JSON template for Analytics goal resource.
    "kind": "analytics#goal", # Resource type for an Analytics goal.
    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "name": "A String", # Goal name.
    "created": "A String", # Time this goal was created.
    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
      "url": "A String", # URL for this goal.
      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
      "steps": [ # List of steps configured for this goal funnel.
        {
          "url": "A String", # URL for this step.
          "name": "A String", # Step name.
          "number": 42, # Step number.
        },
      ],
      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
    },
    "updated": "A String", # Time this goal was last modified.
    "value": 3.14, # Goal value.
    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
      "comparisonValue": "A String", # Value used for this comparison.
    },
    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
    "eventDetails": { # Details for the goal of the type EVENT.
      "eventConditions": [ # List of event conditions.
        {
          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
          "expression": "A String", # Expression used for this match.
          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
          "comparisonValue": "A String", # Value used for this comparison.
        },
      ],
      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
    },
    "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
    "active": True or False, # Determines whether this goal is active.
    "profileId": "A String", # View (Profile) ID to which this goal belongs.
    "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
      "href": "A String", # Link to the view (profile) to which this goal belongs.
      "type": "analytics#profile", # Value is "analytics#profile".
    },
    "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
    "id": "A String", # Goal ID.
    "selfLink": "A String", # Link for this goal.
    "accountId": "A String", # Account ID to which this goal belongs.
  }


Returns:
  An object of the form:

    { # JSON template for Analytics goal resource.
      "kind": "analytics#goal", # Resource type for an Analytics goal.
      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "name": "A String", # Goal name.
      "created": "A String", # Time this goal was created.
      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
        "url": "A String", # URL for this goal.
        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
        "steps": [ # List of steps configured for this goal funnel.
          {
            "url": "A String", # URL for this step.
            "name": "A String", # Step name.
            "number": 42, # Step number.
          },
        ],
        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
      },
      "updated": "A String", # Time this goal was last modified.
      "value": 3.14, # Goal value.
      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
        "comparisonValue": "A String", # Value used for this comparison.
      },
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
      "eventDetails": { # Details for the goal of the type EVENT.
        "eventConditions": [ # List of event conditions.
          {
            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
            "expression": "A String", # Expression used for this match.
            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
            "comparisonValue": "A String", # Value used for this comparison.
          },
        ],
        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
      },
      "webPropertyId": "A String", # Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.
      "active": True or False, # Determines whether this goal is active.
      "profileId": "A String", # View (Profile) ID to which this goal belongs.
      "parentLink": { # Parent link for a goal. Points to the view (profile) to which this goal belongs.
        "href": "A String", # Link to the view (profile) to which this goal belongs.
        "type": "analytics#profile", # Value is "analytics#profile".
      },
      "type": "A String", # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.
      "id": "A String", # Goal ID.
      "selfLink": "A String", # Link for this goal.
      "accountId": "A String", # Account ID to which this goal belongs.
    }</pre>
</div>

</body></html>