Mark New Nodes in Views via Template
&lt;?php print theme('mark', array('type' =&gt; node_mark($node-&gt;nid, $node-&gt;changed))); ?&gt;


this is how it is done on the content overview page. give it a try, it will display read for anonymous users' - probably ..,

here's the code from node_mark, where node_last_viewed is used:

function node_mark($nid, $timestamp) {
  global $user;
  $cache = &amp;drupal_static(__FUNCTION__, array());

  if (!$user-&gt;uid) {
    return MARK_READ;
  }
  if (!isset($cache[$nid])) {
    $cache[$nid] = node_last_viewed($nid);
  }
  if ($cache[$nid] == 0 &amp;&amp; $timestamp &gt; NODE_NEW_LIMIT) {
    return MARK_NEW;
  }
  elseif ($timestamp &gt; $cache[$nid] &amp;&amp; $timestamp &gt; NODE_NEW_LIMIT) {
    return MARK_UPDATED;
  }
  return MARK_READ;
}


so for you maybe this could be used (statistics module needs to be enabled)

 &lt;?php
      if (node_last_viewed($node-&gt;nid) == 0) {
        print '&lt;span&gt;' .  theme('mark', array('type' =&gt; MARK_NEW)) . '&lt;/span&gt;';
      }


best to call this theme function (and any logic) in the preprocess method, and use a variable in the template ..