Solved

"Identity" not appearing as a property in Definitions even after being set.

  • 22 September 2022
  • 14 replies
  • 273 views

Badge +1

We have a funnel that traverses two domains. Our goal is to track user traffic across those domains to get a complete picture of user engagement. Since our visitors will always have an email address, and that email address is always passed via query string from one domain to the other, email is an ideal candidate to use as an identifier. We parse the query string to get the email and then assign that value to the heap object via the identify function: heap.identify(email); This same logic is performed on the second domain. Code for both is included via GTM.

I was expecting “Identity” to display in User Properties in Definitions, but it does not. Is there something more we need to do? The documentation mentions using heap.identity, but that seems to be a basic get function that returns, in our case, the email address we set using heap.identify(). What are we missing?
 

icon

Best answer by dlad 26 September 2022, 22:57

View original

14 replies

Userlevel 5
Badge +4

Hi @msalvatore - I’ve escalated to our support team. 

The Heap docs on Google Tag Manager (GTM) installation underscore the need to published the GTM container after making changes. Please confirm that’s the case.

 

Badge +1

Yes, the changes to the GTM container were published.

Userlevel 4
Badge +2

Thanks Dave! Hi @msalvatore , you should be able to see identity in the user property definition list as you are describing. It should look like the picture below:

I will follow up with you in the support inbox thread. And you are correct that using Identify() is the best way to link users across domains. Since they have the same email address across both domains, you would then identify the same user by the same value on both domains, resulting in the two anonymous users becoming merged under a single user with the specified identity. 

Badge +1

Thank you @dlad, I just now logged into the Heap admin and am now seeing Identity in the list of properties. Did support change something with our account? or maybe it just took a bit longer to establish? 

Userlevel 4
Badge +2

Nothing was changed, it may have been a period of temporary latency. Glad you now see identity in the list!

Badge +1

One follow up question. Is the following line of code required, in order to make the Identify() feature work?

var identity = heap.identity;

 

(function () {
  function getQuerystring(key) {
    some code...
  }
  heap.identify({ email: getQuerystring("email") });
  var identity = heap.identity;
})();

 

I added that line 10 days ago, and am now wondering if that line of code was what prevented “Identity” from displaying?

Userlevel 4
Badge +2

That line of code is not required. I do not see that it could have impacted whether identity displayed in the app UI. 

Badge

@dlad 

Thanks Dave! Hi @msalvatore , you should be able to see identity in the user property definition list as you are describing. It should look like the picture below:

I will follow up with you in the support inbox thread. And you are correct that using Identify() is the best way to link users across domains. Since they have the same email address across both domains, you would then identify the same user by the same value on both domains, resulting in the two anonymous users becoming merged under a single user with the specified identity. 

Hi @dlad 

We have the same issue that identity is not updated even we `heap.identify(‘’)` is called `heap.identity` is valid.
However, I could not see the Identity property from Definitions menu from our account.


We see custom user properties we added but it still says unidentified.

 

What could we miss? Thanks!

Userlevel 3
Badge +3

@dlad

Thanks Dave! Hi @msalvatore , you should be able to see identity in the user property definition list as you are describing. It should look like the picture below:

I will follow up with you in the support inbox thread. And you are correct that using Identify() is the best way to link users across domains. Since they have the same email address across both domains, you would then identify the same user by the same value on both domains, resulting in the two anonymous users becoming merged under a single user with the specified identity. 

Hi @dlad 

We have the same issue that identity is not updated even we `heap.identify(‘’)` is called `heap.identity` is valid.
However, I could not see the Identity property from Definitions menu from our account.


We see custom user properties we added but it still says unidentified.

 

What could we miss? Thanks!

Hi @brenkam, are you still having this issue?

Badge

Thanks for your response @julia 

 

Regarding what dlad answered, I could not find that identity field from our Definitions>Properties.

We still have the issue and that’s quite confusing and blocking us. Appreciate your time investigating the issue.

Userlevel 2
Badge +1

Hi @brenkam 

If you haven’t done so already, please open the developer tools console on your browser and enter “heap.identity” in the console to see if an identity has been set.

Userlevel 4
Badge +2

@brenkam please try now in your Main - Production environment ending in “6022”. You should be able to see identity in your properties list, and select it in dropdowns when creating filters. For example, search users for where identity is defined. 

 

This time around it was likely unfortunate timing with a bug on our end that was fixed. Sorry about that!

Badge

It’s all working as expected now. Thank you @dlad :)

Userlevel 4
Badge +2

Music to my ears! Sorry about the bumpy experience, should be good now!

Reply