Expand my Community achievements bar.

Join us for the next Community Q&A Coffee Break on Tuesday April 23, 2024 with Eric Matisoff, Principal Evangelist, Analytics & Data Science, who will join us to discuss all the big news and announcements from Summit 2024!
SOLVED

Integrating Adobe Analytics to Gatsby application

Avatar

Level 1

Hi

How can I integrate Adobe analytics with a Gatsby application?

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

While I am not familiar with Gatsby, it seems to be a React based framework.

 

There may not be an "out of the box" solution, but there is always a solution. I suppose it depends on how well you work with your developers.... 

 

I assume this is a Single Page Application (SPA), so you might have to work with your developers to create a data layer (this can be leveraging Adobe's event based data layer structure, there are plugins that can leverage Google Tag Manager's data layer structure as well; or you can create your own custom data layer.

 

I haven't worked with Adobe's data layer (it didn't exist when I started tagging our sites, and I am not terribly fond of event based data layers (particularly on SPAs where the data layer will keep growing), I use a custom data layer that is replaced each time and uses custom JS events for my triggers... but this is all personal preference.. you need to choose something that works for you and your developers.

 

If you are doing an "event based" data layer, you should be able to target the pushed events (similar to how GTM works), or if you are using a custom data layer, you can work with your developers to create some custom events such as (page load start, page load finish, etc) that you can create listeners for, then target rules to fire at different parts of the loading... 

 

Here is some info on SPAs:

https://experienceleague.adobe.com/docs/analytics-learn/tutorials/implementation/spa-pages/using-bes... (this one also uses Adobe's data layer "digitalData")

 

 

https://www.digitaldatatactics.com/index.php/2017/11/20/adobe-dtm-launch-improvements-for-single-pag...

 

The second one is a bit older, but might cover some of the ways in which to handle SPAs with custom events.

 

Good luck!

 

 

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

While I am not familiar with Gatsby, it seems to be a React based framework.

 

There may not be an "out of the box" solution, but there is always a solution. I suppose it depends on how well you work with your developers.... 

 

I assume this is a Single Page Application (SPA), so you might have to work with your developers to create a data layer (this can be leveraging Adobe's event based data layer structure, there are plugins that can leverage Google Tag Manager's data layer structure as well; or you can create your own custom data layer.

 

I haven't worked with Adobe's data layer (it didn't exist when I started tagging our sites, and I am not terribly fond of event based data layers (particularly on SPAs where the data layer will keep growing), I use a custom data layer that is replaced each time and uses custom JS events for my triggers... but this is all personal preference.. you need to choose something that works for you and your developers.

 

If you are doing an "event based" data layer, you should be able to target the pushed events (similar to how GTM works), or if you are using a custom data layer, you can work with your developers to create some custom events such as (page load start, page load finish, etc) that you can create listeners for, then target rules to fire at different parts of the loading... 

 

Here is some info on SPAs:

https://experienceleague.adobe.com/docs/analytics-learn/tutorials/implementation/spa-pages/using-bes... (this one also uses Adobe's data layer "digitalData")

 

 

https://www.digitaldatatactics.com/index.php/2017/11/20/adobe-dtm-launch-improvements-for-single-pag...

 

The second one is a bit older, but might cover some of the ways in which to handle SPAs with custom events.

 

Good luck!