idGoal, 'nb_conversions_entry_rate', false); } public function getTranslatedName() { return Piwik::translate('Goals_ConversionRate', $this->getGoalName()); } public function getDocumentation() { return Piwik::translate('Goals_ColumnConversionEntryRateDocumentation', $this->getGoalNameForDocs()); } public function getDependentMetrics() { return ['goals', 'entry_nb_visits']; } public function compute(Row $row) { $mappingFromNameToIdGoal = Metrics::getMappingFromNameToIdGoal(); $goalMetrics = $this->getGoalMetrics($row); $nbEntrances = $this->getMetric($row, 'entry_nb_visits'); $conversions = $this->getMetric($goalMetrics, 'nb_conversions_entry', $mappingFromNameToIdGoal); if ($nbEntrances !== false && is_numeric($nbEntrances) && $nbEntrances > 0) { return Piwik::getQuotientSafe($conversions, $nbEntrances, 3); } return 0; } public function format($value, Formatter $formatter) { return $formatter->getPrettyPercentFromQuotient($value); } }