Finally found it thanks to devise I can use the sign_in_count to display the button only for signed up users and not for logged in users by checking (current_user.sign_in_count == 1).And it will shown only once :)
<% if current_user && !current_user.sign_in_count.blank? && current_user.sign_in_count == 1 && session[:tour].blank? %>
<% session[:tour] = true %>
<div id="outsider">
<button id="startTourBtn" class="btn btn-large btn-primary">Take a tour</button>
</div>
<%end%>