diff --git a/config/global.ini.php b/config/global.ini.php
index a7504287df4c412aa6a6cf3e92ce12146265041f..73294cfb62f3f190596a0948bc4e18f14f46ee0b 100644
--- a/config/global.ini.php
+++ b/config/global.ini.php
@@ -356,6 +356,12 @@ record_statistics			= 1
 ; after his last page view, it will be recorded as a new visit
 visit_standard_length       = 1800
 
+; The window to look back for a previous visit by this current visitor. Defaults to visit_standard_length.
+; If you are looking for higher accuracy of "returning visitors" metrics, you may set this value to 86400 or more.
+; This is especially useful when you use the Tracking API where tracking Returning Visitors often depends on this setting.
+; The value window_look_back_for_visitor is used only if it is set to greater than visit_standard_length
+window_look_back_for_visitor = 0
+
 ; visitors that stay on the website and view only one page will be considered as time on site of 0 second
 default_time_one_page_visit = 0
 
diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php
index c5c3032bd6c33452f23301203ba72c27e21c4948..0f6f2bcc60426e620a556e467fc36a7f66f0764c 100644
--- a/core/Tracker/Visit.php
+++ b/core/Tracker/Visit.php
@@ -1169,8 +1169,9 @@ class Piwik_Tracker_Visit implements Piwik_Tracker_Visit_Interface
 		$from = "FROM ".Piwik_Common::prefixTable('log_visit');
 
 		$bindSql = array();
-		
-		$timeLookBack = date('Y-m-d H:i:s', $this->getCurrentTimestamp() - Piwik_Config::getInstance()->Tracker['visit_standard_length']);
+
+
+        $timeLookBack = $this->getWindowLookupPreviousVisit();
 
         $shouldMatchOneFieldOnly = $this->shouldLookupOneVisitorFieldOnly($isVisitorIdToLookup);
 
@@ -1313,6 +1314,26 @@ class Piwik_Tracker_Visit implements Piwik_Tracker_Visit_Interface
 		}
 	}
 
+    /**
+     * By default, we look back 30 minutes to find a previous visitor (for performance reasons).
+     * In some cases, it is useful to look back and count unique visitors more accurately. You can set custom lookback window in
+     * [Tracker] window_look_back_for_visitor
+     *
+     * @return string
+     *
+     */
+    protected function getWindowLookupPreviousVisit()
+    {
+        $lookbackNSeconds = Piwik_Config::getInstance()->Tracker['visit_standard_length'];
+
+        $lookbackNSecondsCustom = Piwik_Config::getInstance()->Tracker['window_look_back_for_visitor'];
+        if ($lookbackNSecondsCustom > $lookbackNSeconds) {
+            $lookbackNSeconds = $lookbackNSecondsCustom;
+        }
+        $timeLookBack = date('Y-m-d H:i:s', $this->getCurrentTimestamp() - $lookbackNSeconds);
+        return $timeLookBack;
+    }
+
     protected function shouldLookupOneVisitorFieldOnly($isVisitorIdToLookup)
     {
         // This setting would be enabled for Intranet websites, to ensure that visitors using all the same computer config, same IP