| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/piwik/plugins/Goals/templates/ |
Upload File : |
<div piwik-content-block
content-title="{{ 'Goals_AddNewGoal'|translate|e('html_attr') }}"
class="addEditGoal"
ng-show="manageGoals.showEditGoal">
{% if addNewGoalIntro is defined and addNewGoalIntro %}
{{ addNewGoalIntro|raw }}
{% endif %}
<div piwik-form>
<div piwik-field uicontrol="text" name="goal_name"
ng-model="manageGoals.goal.name"
maxlength="50"
data-title="{{ 'Goals_GoalName'|translate|e('html_attr') }}">
</div>
<div piwik-field uicontrol="text" name="goal_description"
ng-model="manageGoals.goal.description"
maxlength="255"
data-title="{{ 'General_Description'|translate|e('html_attr') }}">
</div>
<div class="row goalIsTriggeredWhen">
<div class="col s12">
<h3>{{ 'Goals_GoalIsTriggered'|translate|e('html_attr') }}</h3>
</div>
</div>
<div class="row">
<div class="col s12 m6 goalTriggerType">
<div piwik-field uicontrol="select" name="trigger_type"
ng-model="manageGoals.goal.triggerType"
ng-change="manageGoals.changedTriggerType()"
full-width="true"
options="{{ goalTriggerTypeOptions|json_encode }}">
</div>
</div>
<div class="col s12 m6">
<div piwik-alert="info" ng-show="manageGoals.goal.triggerType == 'manually'">
{{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' rel='noreferrer noopener' href='https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions'>","</a>")|raw }}
</div>
<div piwik-field uicontrol="radio" name="match_attribute"
ng-show="manageGoals.goal.triggerType != 'manually'"
full-width="true"
ng-model="manageGoals.goal.matchAttribute"
ng-change="manageGoals.initPatternType()"
options="{{ goalMatchAttributeOptions|json_encode }}">
</div>
</div>
</div>
<div class="row whereTheMatchAttrbiute" ng-show="manageGoals.goal.triggerType != 'manually'">
<h3 class="col s12">{{ 'Goals_WhereThe'|translate|e('html_attr') }}
<span ng-show="manageGoals.goal.matchAttribute == 'url'">
{{ 'Goals_URL'|translate }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'title'">
{{ 'Goals_PageTitle'|translate }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'file'">
{{ 'Goals_Filename'|translate }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'external_website'">
{{ 'Goals_ExternalWebsiteUrl'|translate }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'visit_duration'">
{{ 'Goals_VisitDuration'|translate }}
</span>
</h3>
</div>
<div class="row" ng-show="manageGoals.goal.triggerType != 'manually'">
<div class="col s12 m6 l4"
ng-show="manageGoals.goal.matchAttribute == 'event'">
<div piwik-field uicontrol="select" name="event_type"
ng-model="manageGoals.goal.eventType"
full-width="true"
options="{{ eventTypeOptions|json_encode }}">
</div>
</div>
<div class="col s12 m6 l4" ng-if="!manageGoals.isMatchAttributeNumeric()">
<div piwik-field uicontrol="select" name="pattern_type"
ng-model="manageGoals.goal.patternType"
full-width="true"
options="{{ patternTypeOptions|json_encode }}">
</div>
</div>
<div class="col s12 m6 l4" ng-if="manageGoals.isMatchAttributeNumeric()">
<div piwik-field uicontrol="select" name="pattern_type"
ng-model="manageGoals.goal.patternType"
full-width="true"
options="{{ numericComparisonTypeOptions|json_encode }}">
</div>
</div>
<div class="col s12 m6 l4">
<div piwik-field uicontrol="text" name="pattern"
ng-model="manageGoals.goal.pattern"
maxlength="255"
data-title="{{ "{{ manageGoals.getPatternFieldLabel() }}"|raw }}"
full-width="true">
</div>
</div>
<div id="examples_pattern" class="col s12" piwik-alert="info">
<span ng-show="manageGoals.goal.matchAttribute == 'url'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'checkout/confirmation'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://example.com/thank-you.html'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)\\\/demo\\\/(.*)'") }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'title'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'Order confirmation'") }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'file'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'files/brochure.pdf'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://example.com/files/brochure.pdf'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)\\\.zip'") }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'external_website'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'amazon.com'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'http://mypartner.com/landing.html'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'http://www.amazon.com\\\/(.*)\\\/yourAffiliateId'") }}
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'event'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_Contains'|translate("'video'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_IsExactly'|translate("'click'") }}
<br />{{ 'General_ForExampleShort'|translate }} {{ 'Goals_MatchesExpression'|translate("'(.*)_banner'") }}"
</span>
<span ng-show="manageGoals.goal.matchAttribute == 'visit_duration'">
{{ 'General_ForExampleShort'|translate }} {{ 'Goals_AtLeastMinutes'|translate('5', '0.5') }}
</span>
</div>
</div>
<div piwik-field uicontrol="checkbox" name="case_sensitive"
ng-model="manageGoals.goal.caseSensitive"
ng-show="manageGoals.goal.triggerType != 'manually' && !manageGoals.isMatchAttributeNumeric()"
data-title="{{ 'Goals_CaseSensitive'|translate|e('html_attr') }} {{ 'Goals_Optional'|translate|e('html_attr') }}">
</div>
<div piwik-field uicontrol="radio" name="allow_multiple"
ng-model="manageGoals.goal.allowMultiple"
ng-if="manageGoals.goal.matchAttribute !== 'visit_duration'"
options="{{ allowMultipleOptions|json_encode }}"
introduction="{{ 'Goals_AllowMultipleConversionsPerVisit'|translate|e('html_attr') }}"
inline-help="{{ 'Goals_HelpOneConversionPerVisit'|translate|e('html_attr') }}">
</div>
<h3>{{ 'Goals_GoalRevenue'|translate }} {{ 'Goals_Optional'|translate }}</h3>
<div piwik-field uicontrol="number" name="revenue"
ng-model="manageGoals.goal.revenue"
placeholder="{{ 'Goals_DefaultRevenueLabel'|translate }}"
inline-help="{{ 'Goals_DefaultRevenueHelp'|translate|e('html_attr') }}">
</div>
<div piwik-field uicontrol="checkbox" name="use_event_value"
ng-model="manageGoals.goal.useEventValueAsRevenue"
data-title="{{ 'Goals_UseEventValueAsRevenue'|translate|e('html_attr') }}"
ng-show="manageGoals.goal.matchAttribute == 'event'"
inline-help="{{ 'Goals_EventValueAsRevenueHelp'|translate|e('html_attr') }} <br/><br/> {{ 'Goals_EventValueAsRevenueHelp2'|translate|e('html_attr') }}"
>
</div>
{{ postEvent("Template.endGoalEditTable") }}
<input type="hidden" name="goalIdUpdate" value=""/>
<div piwik-save-button
saving="manageGoals.isLoading"
onconfirm="manageGoals.save()"
ng-value="manageGoals.goal.submitText"></div>
{% if onlyShowAddNewGoal is not defined %}
<div class='entityCancel' ng-show="manageGoals.showEditGoal" ng-click="manageGoals.showListOfReports()">
{{ 'General_OrCancel'|translate("<a class='entityCancelLink'>","</a>")|raw }}
</div>
{% endif %}
</div>
</div>