Plugins: New/Repeat vs VisitNum

Here: I would always use the getVisitNum plugin instead of the getNewRepeat plugin.

They have a similar use case. Your friendly marketer will probably compare your new visitors against those who’ve been to the site before. I bet you she has targets that are linked to acquisition of new visitors or rather new customers.

Most implementations model this by using the getNewRepeat plugin, which returns “New” for new visitors, “Repeat” for all others.

That allows you to make reports like this one:

Signups for new vs repeat Visitors
Which is probably exactly what your friendly marketer is looking for.

So why would I do it differently?


A new visitor is a pretty simple concept — they’re on the site for the first time. Fine. I can think of situations, though, where I would want to be more specific about the repeat users. Have they been around a couple of times? A lot? There’s a difference between a casual visitor and one who comes every day, isn’t there?

That’s why I prefer the getVisitNum plugin, which returns the visit number rather than just “New” and “Repeat”.

With the resulting “variable”, I can make a New/Repeat report using Classifications. Just classify “1” as “New” and all other values as “Repeat”.

I can also create a report that is more granular. At a newspaper in the UK, they classified “1” & “2” as “New Visitor”, “3” – “5” as “Returning Visitor” and “6” and bigger as “Regular Visitor”. Makes sense.


So what happened to “keep it simple”, then?

Ok ok. Good question.

I have two arguments in my defence.

The technical one: the implementation of the getVisitNum plugin is exactly as hard or easy as that of the getNewRepeat plugin. Both go into the doPlugins section, both are fairly small, both use a single cookie.

You will need at least one classification if you use the getVisitNum plugin, for it is despicable to force your users to see numerical values in dimensions. But in this case, you can either classify once and then forget about it, or use the classification rule builder. The latter seems like overkill, but either way it is fire and forget.

The one for the user: I always say that too much information makes users shy away from Analytics. What we have here is two reports instead of a simple one, potentially indeed a bad thing.

You can, however, rearrange your menu so users see the classified report instead of the raw data.

Then why do it in the first place?


My guess is that your friendly marketer will at some point be really happy she can do segmentation on different types of repeat visitors, and for that alone it is worth it.

There are other things that she’ll really like to find out about, such as: analysis of visit number versus first purchase or even visit number versus purchase number for those regular shoppers. How about looking at visit number in conjunction with cohorts? Split that Christmas 2014 cohort by how often they came to the site?

Media sites: you might want to check visit number versus traffic source or marketing channel. Check whether you actually manage to get people to remember your brand or whether they keep coming via search. Check where they arrive — on articles? On your home page? Does it change when visit number goes up?

Forums or social sites: check how long before your users are producing content. Is it on first visit? Third? Tenth? Try whether you can nudge them when the time is just right.

I am sure that once your friendly marketer has started thinking about new visitors, repeat visitors and what those mean, she will be very happy you gave her more than she was asking for.

11 thoughts on “Plugins: New/Repeat vs VisitNum

    1. Thanks Jason!

      The built-in report doesn’t give you the flexibility that you get from sending visit number to a traffic or conversion “variable”.

      So yes, easy for you, but no, not enough for the Marketer.



  1. Thanks for this post and for your blog in general! I look forward to every post. I was hoping someday you’d write about the NewRepeat plugin because it has perplexed me in the past. When I implemented GetNewRepeat, the plugin at first thought that all visitors were New. How can I get around this on an established site? Obviously all visitors on an established site are not New. Should I use an existing cookie or a new one? I don’t think it is programatically possible to determine a cookie’s age (unfortunately). Thank you for any more discussion around this scenario….


    1. Good point, and this is actually the same for the getVisitNum plugin, it’ll also always start at 1 when you have newly implemented it.

      The reason is, as you suspected, that it creates the cookie after you’ve deployed it.

      And a possible remedy could indeed be to modify the plugin: have it look for some existing cookie and seed its own cookie from that.

      You should not let it use an existing cookie, as the plugin would overwrite the value in it, making it useless to whatever set it in the first place.

      The other idea would be to rely on the visit number in Adobe Analytics. That number, however, is only available in the back end, so that’s a no. And a third alternative might be possible if visitors log into your site: you might seed the cookie with their number of logins, if possible. Not the same thing, I know, but at least it won’t start at 1 for everyone.


      Liked by 1 person

    1. Yes.

      There’s two ways:

      1. use the value from the plugin directly to feed into Target, or
      2. connect Analytics & Target (see Profiles & Audiences) and share segments (which can be based on the plugin)



  2. Hi Jan, would it be necessary to utilize an entire variable for this setting? Couldn’t we just create 2 segments, New (visit number =1) or Repeat (visit number >1) Thanks! Marnie


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.