Expand my Community achievements bar.

Implementing Event Forwarding with AEP Web SDK

Avatar

Employee Advisor

8/6/22

I have divided the implementation into 6 steps.

VaniBhemarasetty_0-1659710409199.png

While the first three steps are very well explained on our official documentation. I would concentrate from step 4 onwards

These are the documentation links for the first three steps

Create Schema

https://experienceleague.adobe.com/docs/platform-learn/tutorials/schemas/create-schemas.html?lang=en

Create Datastream

https://experienceleague.adobe.com/docs/experience-platform/edge/datastreams/overview.html?lang=en

One additional step is that along with other services, like Adobe analytics, I would need to select Even forwarding as well. For example, I want to send data to non-adobe solutions through event forwarding as well along with Adobe Analytics

VaniBhemarasetty_1-1659710976155.png

Install Web SDK Extension

https://experienceleague.adobe.com/docs/platform-learn/implement-web-sdk/tags-configuration/install-...

Create Even Forwarding Property

If your org is provisioned for Event Forwarding, you should be able to see the option "Event Forwarding" in Launch UI

VaniBhemarasetty_0-1659774960098.png

Click on Event Forwarding -- Create Property -- Once created you would see a new icon as shown in the below snippet

VaniBhemarasetty_1-1659775357791.png

Unlike properties in Tags, we would generally see a desktop or mobile icon based on whether it is web or mobile property, This Icon of Edge would indicate that it is an event forwarding properties

Create Rules/Data elements

The rules would indicate when and where the data should go and the data elements would indicate what are the data points that I wish to send 

One interesting fact is that, unlike our traditional data elements where we could see tons of different options under the drop-down, in this, we have three options and any type of use case should fit in these three

VaniBhemarasetty_2-1659775878552.png

Referencing data from Platform Edge Network

To reference data from Platform Edge Network, you must create a data element that provides a valid path to that data. When creating the data element in the UI, select Core for the extension and Path for the type.

The Path value for the data element must follow the pattern arc.event.{ELEMENT} (for example: arc.event.xdm.web.webPageDetails.URL). This path must be specified correctly in order for data to be sent

VaniBhemarasetty_3-1659776119110.png

Create Rule

Now I would need to create a rule to send the data to Non-adobe solution, Our extensions catalog might be limited right now, with limited destinations, but our product team has been actively working on including more extensions

One of the extensions that I have installed is the Adobe Cloud Connector along with Core

VaniBhemarasetty_4-1659776381826.png

For testing purposes, I have used https://webhook.site/ to send the data to

I have created a rule to send the data to the above endpoint and my rule UI would look like this

VaniBhemarasetty_0-1659779721703.png

Action Type: Make Fetch Call 

Request Method: GET

This would look something like Post man where you send APIs to different end points

Validation:

Now that I have implemented everything, the most interesting part is the validation part. To validate my implementation, Adobe Expereince Platform Debugger chrome extension is the best, this extension is designed to handle both client-side and server-side implementations

I have implemented it on our demo website https://luma.enablementadobe.com

Go to the Tools section of the debugger -- Logs -- Edge -- Sign in to your IMS org, When the page loads 

I could see these logs which indicate the how the event forwarding rules are working 

VaniBhemarasetty_1-1659780263611.png

If you are sending the data to Google Analytics, you should be able to see this data in your destination

I could see these requests reflected in https://webhook.site/  UI. An interesting fact is that the data sent to the end point on real-time

VaniBhemarasetty_2-1659780382466.png

Note: Edge servers do not save the data if the implementation is incorrect and you want the Edge server to resend the data to the endpoint again which you have missed, well that is not possible.

 

Well, that comes to the end of this post on implementing and validating of event forwarding

Hope that this article would be helpful

Happy Learning!

 

9 Comments

Avatar

Community Advisor

8/7/22

Pretty comprehensive article, @VaniBhemarasetty 

 

Couple of questions:

1. I see that Facebook has an official extension for configuring it's pixel, can you shed some light around Google platforms? I see third-party extensions, just wanted to know about official extension by Google

 

2. Is there any documentation around developing a new extension for Event Forwarding properties in Data Collection?

 

Thank you.

Avatar

Employee Advisor

8/8/22

@Kishore_Reddy Yes, we do have couple extensions for Google and Facebook as well extensions. Lot more are still in pipe line.

 

I do not think developing extensions for event forwarding is supported yet. But you should be able to use Adobe Cloud Connector extension and configure any end point and send the data. So I do not see the need for developing the extensions separately. This extension should help you for sending your data to any end point

Avatar

Community Advisor

8/8/22

@VaniBhemarasetty I was specifically asking about an extension by Google to support event forwarding via Data Collection. I see third-party extensions, just wanted to know about official extension by Google.

 

Is there any real-time example (like Luma site example in Web SDK deployment) or a demo video to see all the steps and popular end points (Facebook Ads, Google Ads, Google Campaign Manager, Trade Desk)? 

 

If all the popular end points are supported by Adobe Cloud Connector, I agree with you about the necessity of creating a new extension. Else, apart from creating a custom extensions, brands don't have a choice. Please shed some more light in case, I missed anything.

 

 

Avatar

Employee Advisor

8/9/22

@Kishore_Reddy This Bright talk by Rudi and Eric can help you https://www.brighttalk.com/webcast/19153/541859?utm_source=brighttalk-recommend&utm_campaign=network...

Although this is not a direct demo with the endpoints you mentioned, this can help if you want to send it to Fb or Google Analytics,etc

 

Avatar

Community Advisor

8/9/22

@VaniBhemarasetty  Great post explaining the end to flow to get this going! 

@Kishore_Reddy I just wrote a post this and may be it will help some of your question. You can read it here Facebook CAPI with Adobe Event Forwarding & Adobe Tags

Also made a video on the concept on Conversion Tracking with Adobe Event Forwarding

 

In addition to answer your question on creating an extension, that is indeed possible. 

Here's a starter project with links that point to documentation https://github.com/jeffchasin/reactor-helloworld-extension-edge

Avatar

Employee Advisor

8/9/22

@Anil_Umachigi  Thanks a lot for adding your thoughts here

Thanks a lot for sharing your blog link here,Amazing post, really appreciate it, This should help anyone starting with Event forwarding for FB

Avatar

Community Advisor

8/9/22

Thanks @VaniBhemarasetty I will go through the Bright talk.

@Anil_Umachigi Thank you, good article. I'm looking for Google official extension(s) for Event Forwarding. Have you tried sending data to Google Ads or Google Campaign Manager via Event Forwarding?

 

Since FB has an official extension for cAPI, I was able to test it. For Google I do not see an official extension, but a 3rd party authored extension from Evolytics exists. So I wanted to know how it works.

 

Thank you for much for sharing the starter project of Launch extension for Edge.

Avatar

Community Advisor

8/9/22

@Kishore_Reddy I dont think there is any official google extension for Evt Fwding yet. I have personally not tired the campaign manager via Evt forwarindg, but have you tried it with "Cloud connector extension". 

 

Hope that helps 

Avatar

Community Advisor

8/9/22

@Anil_Umachigi No, that's where I need guidance, looking for some examples. Thank you.