Sharing my experience as an Adobe consultant

Articles by category: MSA


Unless you have been living in a cave, you must have heard the term Generative AI, or GenAI for short, recently. The best example is ChatGPT, which has taken the world by storm. Adobe, on its side, has also been working on this technology and it is now available in some tools. I have to admit that it has taken me some time to start playing with it, as my main project has eaten all my time. However, I have finally started digging into it. I am far from an expert, but I wanted to share with you what I have learned and my point of view on where I think it should go to.


Most digital marketing initiatives involve one or more of the following channels: email, SMS, push notifications, mobile app, or web. I would call them traditional channels, as they are what we are most used to. It is no coincidence that Adobe Experience Cloud tools cater mainly to them. However, there are other channels that, while more niche or less popular, should also be explored. There may be opportunities in them that you may have not thought about.


22 Oct 2023

Target Transparency

The design that I am going to explain today came as a request from a customer a few years ago. The problem statement was very interesting, something that probably should have a better solution; designing the architecture was fun. It is one of those cases where you have to put your Multi-Solution Architect hat on and use your knowledge to combine the Adobe tools in a way that, probably, nobody had thought before.


08 Oct 2023

Content Supply Chain

I first heard about Content Supply Chain (CSC) as we were approaching Adobe Summit 2023. For some reason, it did not feel to me as something revolutionary. It was rather a concept that made a lot of sense, and that had already existed before, but nobody had given it a catchy name. And we all know that humans love naming things. If you have never heard of this concept, this post is for you.


24 Sep 2023

Of data and content

Since I became a multi-solution architect back in 2016, people around me kept on talking about the two distinct areas in digital marketing, almost adversaries: data and content. In their view, there should be two types of architects, one for data and another for content. I always said that I was against this differentiation and that an architect should work across both. However, I was alone in this quest, and, to this day, this wall still exists.


In the marketing automation space, Adobe currently has three offerings: Adobe Journey Optimizer (AJO), Adobe Campaign Classic (ACC), and Marketo. If you are wondering why so many options or what the difference between them is, you are not alone. This is a typical criticism that some customers give. However, when you understand them, you realize that they make a lot of sense and each one has its own space. Sure, there are overlaps, but there are also important differences. My hope with this post is to help you navigate these options and help you choose the best one for you.


11 Dec 2022

Demystifiying CNAMEs

If you have been involved in Adobe Experience Cloud implementations, at some point you probably have stumbled upon CNAMEs. If you have wondered what are these creatures and why they can be useful for your marketing goals, this post is for you.


31 Jul 2022

Adobe Vocabulary

When people start working with Adobe tools, they are flooded with lots of new names, which are not always obvious. Or you start with one tool, but as you learn more, you start to get lost. This was my case, when I had to learn the rest of the Adobe Experience Cloud with a background of Adobe Analytics. If this is your case, keep on reading!


Once you have created an account in Adobe IO, you will want to use it to connect to the API you have configured. I do not know how other vendors work, but in the case of Adobe, before you can connect to the API, you need to authenticate. In this post, I will explain the process for the case of a service account (JWT). It is important to understand that the authentication happens against an endpoint, which is different from the API.


You plan to use one of the multiple APIs that Adobe offers. You know which API you want, you understand it and you are ready to start coding. But, before you do so, you will need to get the credentials for your script or application. Instead of using the Adobe Admin Console, you have to create these credentials through Adobe IO, which is what I am going to show today.


I do not think it should come as a surprise to you if I say that I have been a developer in the past. I started my career as a C and C++ developer, with a bit of Java and Perl. Later, I spent 4 years creating websites in PHP, HTML, CSS and JavaScript. As an Adobe consultant, though, I do not have to spend too much time coding. On the other hand, what I can do is use my knowledge of the Adobe stack and my experience as a developer to help developers who need to connect with Adobe tools.


This week I saw a question in an Adobe-internal Slack channel, where an Adobe colleague was asking, on behalf of a customer, how to access the Launch library in case the servers were down. That really surprised me as I had never seen a similar request. To me, it looked like this customer did not trust Adobe’s edge network. This question prompted me to explain in more detail this edge network. The information is sometimes difficult to find in the Adobe documentation, so I will compile it here, both for you and me.


This post is the last of my mini-series on debugging with Charles. If you have not read the previous posts, you should, before you continue: Introduction to HTTP debuggers and Debugging Adobe Tools with Charles - Part I. In this post, I will skip some obvious steps, as I assume that you are familiar with Charles by now. If something is not clear, please, let me know in the comments.


Now that I have provided an introduction to HTTP Debuggers, I can explain how to use Charles to debug Adobe tools. In this post, I will show you how to start working with Charles, find the Adobe data and switch Launch environments.


In many blog posts, I have explained how to use the browser’s developer tools to debug or test implementations. In my day-to-day work, whenever I need to check an HTTP call or a cookie, I use these tools. I have used them so much, that I do not have to even look at the keyboard to press CTRL+Shift+I. However, there are some situations where you need more than what the browser can offer. Enter the HTTP debuggers.


One question that we hear from time to time is “why do I have so many places to create segments?” Or, its variation “why can’t I have a single place to manage all my segments?” These are uncomfortable questions, which require some detailed explanation. I am also aware that not all our customers accept the answer. In this post, I will go through the features of the various segments engines and why it makes sense that they differ.


If you come from the Adobe Experience Manager (AEM) world, I do not think this post is for you; you already know what I am going to explain. However, if you are working with other Adobe solutions or are just starting to learn AEM, I hope to give you an initial overview of what Experience Fragments (XF) are.


One of my clients has recently asked me to implement this integration. While it is documented in the Experience League and I have managed to configure it, I believe the documentation could be clearer. My understanding of Adobe Analytics has also helped to fill the gaps. So, if you are trying to set this integration up, I hope this tutorial is what you are looking for.


Last week, a reader left a comment in my post on Declared IDs, asking for ideas on how to capture more or better 1st party data. As the world inches towards a cookie-less web, this is a challenge I see with more customers. The problem is that not all websites are created equal.


09 May 2021

Project Firefly

Last year, Adobe released a framework (not exactly a new product), called Project Firefly. I barely noticed it when it was announced. However, one of my customers requested me a very specific feature, for which Firefly was the perfect tool. Although it has been ages since I last did any serious development, it was a good opportunity to learn this new tool. This is an introduction to this tool and, in future posts, I will get into more details.