Skip to main content

Hey, I recently upgraded to a paid account and am trying to do some analysis with the Pathfinder report to understand various custom journeys on our website. I had to reconfigure our Segment in order for it to properly track session IDs in Amplitude which is now done.

The source that collects our ecommerce events from Shopify into Segment is all sent server-side and therefore don’t have session IDs associated with them. I’m trying to look at what the user flow looks like when first-time visitors from Google hit our website. It looks like around 17,800 people start a session but then only 83 are adding to cart.

However, when I look at a funnel where Page Loaded has a historical count of 1 and then a Product Added event, I get around 14,800 visitors with 706 adding to cart. When I hold the session ID constant I get 531. I know the numbers won’t match up exact, but this is quite drastically different. 

Is this because the Product Added events are sent server-side and therefore don’t have a session ID?

I have tried playing around with the session definition but anything I’ve tried hasn’t worked because I don’t have an event that always indicates if a session has ended. 

 

Hoping someone might be able to point me in the right direction as to why I’m seeing issues with the pathfinder reports. It basically looks like people load a page or two and then the sessions end which don’t make a ton of sense.

Thanks,
Beth

I think what I might be missing is that this is not historical count but the count of the visits within that session. If someone only views 1 page, of course it’s not going to show a user flow.


Hi @saundersbeth,

Thanks for writing in! You’re correct that because some of those server side events do not have session IDs associated with them, the behavior in certain charts will change:

  • In Pathfinder, we will not show events that do not have a Session ID when other events do have one. If Session ID was not available at all, we would show essentially really long sessions per user and use event IDs/timestamps to display events in the correct order. With Session ID available, we will now evaluate that as the first requirement for an event to be included.
  • In Funnels, when holding constant by Session ID, if a step in your funnel does not have the Session ID appended to it, then the funnel will break/we will display the conversion as a drop off.

In cases where customers have the ability to do so, our first recommendation would be to set a Session ID on the server side events. If that isn’t possible, the next recommendation would be to set a custom event definition per project as you already shared a screenshot for. More info in this help article.

It’s important to note that the custom session definition criteria act as “AND” statements. For example, if you would rather forego the custom Session ID that you instrumented and use a custom definition instead, you could set up the rules as:

  • Start event = ‘app open’ (...or whatever your preferred event is.)
  • Session timeout = 30 min (...or whatever your preferred timeout is.  For desktop we usually recommend 30, and mobile we recommend 5.

In summary, we wouldn’t require you to have both a starting and ending event for the custom session definition. You can mix and match. If you do go down this path however, you may want to consider not using the Session ID that you instrumented in that definition since that would add another “AND” condition. Also keep in mind that changing the session definition will apply retroactively to any pre-existing analysis as well, though it is easy enough to change back to the definition you previously had if that is a concern.

I hope this helps!


Hi @saundersbeth,

Thanks for writing in! You’re correct that because some of those server side events do not have session IDs associated with them, the behavior in certain charts will change:

  • In Pathfinder, we will not show events that do not have a Session ID when other events do have one. If Session ID was not available at all, we would show essentially really long sessions per user and use event IDs/timestamps to display events in the correct order. With Session ID available, we will now evaluate that as the first requirement for an event to be included.
  • In Funnels, when holding constant by Session ID, if a step in your funnel does not have the Session ID appended to it, then the funnel will break/we will display the conversion as a drop off.

In cases where customers have the ability to do so, our first recommendation would be to set a Session ID on the server side events. If that isn’t possible, the next recommendation would be to set a custom event definition per project as you already shared a screenshot for. More info in this help article.

It’s important to note that the custom session definition criteria act as “AND” statements. For example, if you would rather forego the custom Session ID that you instrumented and use a custom definition instead, you could set up the rules as:

  • Start event = ‘app open’ (...or whatever your preferred event is.)
  • Session timeout = 30 min (...or whatever your preferred timeout is.  For desktop we usually recommend 30, and mobile we recommend 5.

In summary, we wouldn’t require you to have both a starting and ending event for the custom session definition. You can mix and match. If you do go down this path however, you may want to consider not using the Session ID that you instrumented in that definition since that would add another “AND” condition. Also keep in mind that changing the session definition will apply retroactively to any pre-existing analysis as well, though it is easy enough to change back to the definition you previously had if that is a concern.

I hope this helps!

 

Thank you!! I wish I knew this like, two months ago 😅 I wrote into support about this but nothing I was trying with the session definitions made a difference. It was the session ID property causing the issue!

I assume that since there is just one definition that I would either need separate projects for my marketing VS app data, or to change the definition if I want to look at either one?


Hi @saundersbeth, glad to be of assistance! 😊

Regarding the point about “one definition”, that is correct that separate projects would allow you to set separate session definitions if that is important to you.  You can also change the definition back and forth, though if there are other people trying to use Amplitude, that may lead to confusion.

If you go the separate project route, one thing to try to keep steady is the way you identify users in those separate projects (e.g. device ID and user ID).  If there is ever a world where you would want to perform analysis across those projects, we would want to ensure that you identify users across those projects as consistently as possible so you can analyze the journey cross-domain.  We also have an add-on that helps with this called Portfolio if you’d like to consider that for the future.


Hi @saundersbeth, glad to be of assistance! 😊

Regarding the point about “one definition”, that is correct that separate projects would allow you to set separate session definitions if that is important to you.  You can also change the definition back and forth, though if there are other people trying to use Amplitude, that may lead to confusion.

If you go the separate project route, one thing to try to keep steady is the way you identify users in those separate projects (e.g. device ID and user ID).  If there is ever a world where you would want to perform analysis across those projects, we would want to ensure that you identify users across those projects as consistently as possible so you can analyze the journey cross-domain.  We also have an add-on that helps with this called Portfolio if you’d like to consider that for the future.

Thanks! I updated our definition but now I’m not seeing anything in the sessions or Pathfinder reports so I’m not sure that will work for us. I think I do remember trying this!

We currently have data from both our app and marketing in the one project as we wanted to be able to look at the data together regardless of the source as that’s a huge value-add for us. 


I totally appreciate that value-add!  Makes sense.  If acceptable for you, I would recommend using the timeout windows to set reasonable expectations for when sessions should be considered “ended” based primarily on the device a user is on.

Not seeing anything in the Sessions or Pathfinder charts sounds like unexpected behavior to me.  I will reach out internally and ask that this thread be turned into a Support thread so someone can troubleshoot with your further.  In the meantime, if you have any links or supporting screenshots you can share, that will help reduce time to resolution!


Hi @saundersbeth I’m closing the loop here. I’m glad that this was resolved and that you were able to revert back to the original definition you had that included the session ID.


Reply