Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

LaurentLam
Community profile LaurentLam Level 6
Adobe Campaign Consultant
Paris
21 BADGES
Level 6

Level 6

Learn more
Joined the community 26-05-2021 9:24:14 AM
Online
Top badges earned by LaurentLam
Customize the badges you want to showcase on your profile
Re: how can I custom tranking link in delivery
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Not sure to understand fully the need.On my side, I prefer to use an array in JSON and to loop directly in the delivery in order to build the HTML:javascript is prohibited in emails, at least, for deliverability purpose

Views

10

Likes

0

Replies

0
Re: Import Recipient Table and Other Custom Table information via FDA
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello @1982luca ,Best practice is to just "import" required data.There are 3 main reasons:1- performance is better on your local database: your WKF will 2- when you create a schema (so queryable) through FDA, there is a lot of intrusive objects that are created on the external database a- AC will have to create the OOTB AC Stored Procedures (in order to have the query expressions to work) b- AC will also create work tables (WKFxxxxxx) on the external DB when running a workflow that involve an ac...

Views

11

Like

1

Replies

0
Re: Adobe Campaign UTM parameter personalization block breaking
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hi David,Could you create a variable in your personalization block like:var UTM="?utm_source=newsletter&utm_medium=email&utm_campaign=unitedkingdom-bau&utm_content=newsletter_november_2021-professionalDate12/11/2021";and then include it in your delivery but calling the URL like this: https://www.somedomain.com/uk/wealth-management/insights/talking-points/why-the-worlds-wealthy-are-still-buying-homes-in-london/<%= UTM %> Normally you should have all the variable content in the P1 parameter

Views

43

Like

1

Replies

3
Re: How to read memo data type from schema and display on delivery?
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Carefull about kind of implementation like "grabbing a whole memo field to personalize an email":If the memo field is common to all recipients of the delivery, you'll then have use a delivery variable like here:Add variables from a Workflow in a Delivery in Adobe Campaign | Blog by Florian CourgeyYou can create also a personnalization block dynamically that will be included in the deliveryThe reason is about how works AC with personnalization data:it creates what we call "delivery parts" that is...

Views

46

Like

1

Replies

0
Re: Resource Validity - Changing default setting
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
The change in the deployment wizard will not affect existing deliveries but only the new templates created (templates will herit from the new default value).Once you'll have templates with the new value, all deliveries created from those templates will then pick this value.The other way is to create a typology rule (of type "Control" and "at the start of targetting") using in the JS:myVar = getOption("myOption");delivery.scenario.webValidityDuration = myVar * 60 * 60 * 24;delivery.mailParamater....

Views

44

Like

1

Replies

0
Re: Technical Workflow - Auto Recovery
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Perfect answer, but carefull with this kind of methodology:Root cause of the issue should always be addressed in priority...I remember a customer that made in the past a such mechanism (but for none OOTB workflows) despite support recommandation: he burned in 5 monthes his xtkNewId sequence

Views

33

Like

1

Replies

1
Re: Adobe Campaign Classic V6 - User Audit Logs - Query
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hi @Shane0806 ,Unfortunately there is no such degree of audit as AC never handeled natively versionning.Here how you can investigate on an issue:0- try to know when the modification arrised1- if the "modified by" and "last Modified" cannot be trust or found on the objects that have been modified, you can play to Sherlock Holmes by analysing the "logins.log" file on the server: Log files | Adobe CampaignIt contains every logins that try to log on the server with the timestamp (and even the IP if ...

Views

29

Likes

2

Replies

0
Re: Campaign Optimization and Recurring Delivery
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello, unfortunately, there is no miracle solution if you're dealing about pressure rule... And specially in a predictive method.Adobe Campaign: Campaign Optimization using Pressure rulesYou'll then need your recurring delivery to be schedulled in advance in order to set a future contact date (exemple "tomorow"):depending of the delivery "weight", Adobe Campaign will select the correct pending delivery for the recipient by reapplying the pressure rule typology between 8pm & 8am each night on eac...

Views

15

Likes

2

Replies

0
Re: Long SQL-query processing times
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello,as every best practice, this is not documented 😉Just don't forget that if you need to specify "sqlinjection = true" ("false" by default) in order to permit it, it is an indicator 😉

Views

31

Likes

2

Replies

1
Re: Long SQL-query processing times
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
You're absolutely right the max db connection pool seems to be an outdated parameter from V6.02 I used to check before.Regarding your trigger on soaprouter.jsp, you could perhaps use the NLWS.xtkWorkflow.PostEvent() function in order to call a workflow (Call another workflow in Adobe Campaign | Blog by Florian Courgey)If your trigger is about to retieve and sort data in a jsp page, I would say to use then a workflow that will aggregate / calculate every needed data in a single schema (that would...

Views

48

Likes

3

Replies

3
Re: Long SQL-query processing times
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello, using SQLSelect from the jsAPI is too avoid in most cases:as this is considered as SQL injection, ACC does not take it in consideration in the cnx pool for handling requests and preventing deadlocks (cf dbcnx attribute in the serverConf file).Related to the JS engine memory it can also creates issue depending of the amount of data retrieved by the SQL request. That's why we usually put an arbitrary max of 10000 rows when using a queryDef (that is ran with the CNX pool) and paginate over i...

Views

56

Likes

3

Replies

5
Update activity and NOT changing dimension
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
DescriptionToday when we use an update activity in a workflow, we force the targeting dimension to change from the actual dimension to the one set in the update activity. It would be great to be able to NOT change automatically the targetting dimensionWhy is this feature important to youThis feature would help to have, visually, a less complex workflow and to encourage best practices in order to use this OOTB activityHow would you like the feature to workA checkbox option, in the update activity...

Views

47

Like

1

Replies

0
Re: Web Tracking Tags Vs Tracking Clicks under Tracking Logs
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
As you can see, web tracking is unsupported in V8:Campaign Classic v7 - Campaign v8 capability matrix | Adobe CampaignThis said, you can implement it on your 6.11 version but think about the future: once 6.11 will be unsupported by Adobe (end of extended support in march 2022), you'll have to upgrade your environment.If you're implementing it today, you'll have to upgrade only on V7

Views

71

Likes

2

Replies

0
Re: Storing Images as Blob in Adobe Campaign Classic
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hard to answer correctly as you do not explain why those requirements.So, yes there's a blob type for attributes Elements and attributes | Adobe CampaignYes, you can use JS in a workflow to read attribute from a schema... But are you really speaking about the JS from a workflow?Yes you can use a workflow to connect to the SFTP, download the image and do what you want on itI know: the answer doesn't help you... ^_^ but without knowing the needs behind, I cannot do better 😛

Views

51

Likes

2

Replies

0
Re: Web Tracking Tags Vs Tracking Clicks under Tracking Logs
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Web tracking tags are HTML code you paste on your website.Basically, you'll then be able to track (through the trackinglogRcp schema) what your recipients are doing after they've clicked in the emailOne of the best example is, imagine you're sending a promotion for sales on your websiteOn a normal basis, you have the tracking about the openers and the clickers...But that's all: there is no direct link between those figures and tracking on the websiteInserting webtracking tag on your website, wou...

Views

83

Likes

2

Replies

3
Re: Identify target emails/users who did not click on the link or URL?
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Yes, just take a quick look on the trackingLogRcp schema... You'll find a link called "URL" that will provide you the URL that was tracked...

Views

86

Likes

2

Replies

0
Re: Dynamic Date in Subject and email body
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Just open the delivery generated by your template and click on "delivery logs": the error message generated at MTA level will be shownIt seems that your onboarding on ACC has not been finished. You should ask for it or you'll be quickly limited as developper, architect or just simple user

Views

90

Likes

0

Replies

0
Re: Dynamic Date in Subject and email body
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
If you cannot provide the error message in the broadlog of your delivery, it will be hard to help you

Views

108

Likes

0

Replies

2
Re: Dynamic Date in Subject and email body
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
use this function instead of yours:function month_fr(today){ var monthFr:["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre","Novembre","Décembre"]; var thisMonthFr = monthFr[today.getMonth()]; return thisMonthFr.toString();}Regarding the toLocalDateString it doesn't work because it isn't implemented natively in ACMy function works a bit the same as here:Formatting | Adobe Campaign

Views

115

Likes

0

Replies

4
Re: How to pass full html into a email transactional message body
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
First, I don't think that you can do it standard Adobe as the toBase64() method is exposed but not the reverse:toBase64 (adobe.com)Netherless, this is not a good practice at all to use Message Center this way:creating personnalization based on a huge field (or even complexe personnalization) will slow down the treatment of your messages by the MTA.Best practice would be to incorporate the HTML directly in the template and to use "case" of "if" condition in JS depending of your CTX.Using the pers...

Views

56

Likes

2

Replies

0
Re: How to restore UI for workflows in a Campaign
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello,did you try to clean the local cache (file menu) and then to logout / login?

Views

98

Like

1

Replies

2
Re: Dynamic Date in Subject and email body
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
there are different methods for that, but my prefered one is to create an array in JS:var monthFr:["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre","Novembre","Décembre"];logInfo("Actual French Month: " + monthFr[today.getMonth()] );ps: this is because "today" as already get declared in the past example

Views

136

Likes

0

Replies

6
Re: E-mail Tracking Protection iOS15 Latest Feature: Open Rate Check in Adobe Campaign
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Just imagine this functionnal scenario:you target 100 recipient with the iOS15 MPP option turned onIf all those recipients recieve the mail at night at 3am, the probability to have 100 open tracking logged at 3am is high becauseat night, people usually plug their iPhone to recharge the battery and have configured the wifi of their homeNow imagine that you're sending the email at 7am:some recipient are in the transport: their iPhone is fully charged but they are not connected to wifi:for those re...

Views

315

Like

1

Replies

2
Re: Workflow often run for a long time and failed
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello, It seems that you have many servers dedicated to workflow process (runwf), you need to check on which affinity the workflow is declared as this affinity will decide on which server it will run:when you do a such operation (unconditionnal stop), you're not connected on the same wfServer than workflow... This is what is causing the error messageBut regarding the root cause of your workflow issue, I don't think it has something to do with it, you should log SQL queries (workflow properties) ...

Views

46

Likes

2

Replies

0
Re: Single IP address per Affinity and MTA - dual email delivery issue
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Never setup 1 IP per affinity... You need at least 2 per affinityAn "affinity" is a dedicated pool of IPs that will be used for dedicated sendings (see doc from Anshar)Why never using just one? In case you have a deliverability issue with it, you'll then lose all your delivery messages.You have to calculate the amount of IPs you'll need dedicated per use.For example, imagine you have some sendings dedicated for China and others dedicated for Europe.You'll then need at least 2 affinities: one for...

Views

63

Likes

2

Replies

0
Re: E-mail Tracking Protection iOS15 Latest Feature: Open Rate Check in Adobe Campaign
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
That's not true in fact...You need to understand how works the MPP, actually:1- if your phone has more than 80% of battery OR plugged in charge2- AND you are using WIFI3- AND you have MPP activated (96% of probability according to past studies)THEN apple will download on a proxy server any single images from your incoming emails before downloading into the mail app:It will then generates a "false" positive open tracking: you'll think that your email is more read than before... But that's not tru...

Views

341

Likes

2

Replies

4
Re: ACS - Delivery failed due to locale is not defined
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Standard
Hi,It seems that your issue is coming from the text content of your delivery.First, just delete the text content and try to send a proof...Check that there s no issueSecond, add all static part of the text content and send a proofCheck that there s no issueAdd first dynamic element to your text content and send a proofcheck that there s no issueContinue like this until you'll be able to target the dynamic element of your text content that create the issue

Views

82

Like

1

Replies

0
Re: Retargeting non - openers - Adobe Campaign classic
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Sorry but really a bad idea:good practice is to target active users from the last 6 month (and 3, in the teddy bear world). In other term, to target people that, at least opened, your email. (actual good pratice is too target only clickers as the open tracking is less and less accurate. See my colleagues' answers for the technical explanation)targetting people that provide no click/opening will lead to more SPAM/complaints & spamtrap and will lead to loss of ISP reputation: you'll send then less...

Views

134

Likes

3

Replies

0
Re: Emails are not getting triggered when we use "add a script" to setoption in email content
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
I'm gonna be hard on this but if this for B2C purpose, I strongly do not recommand email attachment:1- it's struggling your MTA during the sending: if you are sending huge volume at the same time, it will be a problem2- you have more probability to create deliverability issues as ISP (hotmail, gmail, etc) are filtering harder emails with attachment than withoutGood practice is to use a link in the email to download the attachment/file and to track the click on this CTA.

Views

461

Like

1

Replies

0
Re: Emails are not getting triggered when we use "add a script" to setoption in email content
Avatar
Affirm 25
Level 6
LaurentLam
Level 6

Likes

78 likes

Total Posts

103 posts

Correct reply

24 solutions
Top badges earned
Affirm 25
Boost 50
Boost 25
Give Back 50
Affirm 10
View profile
LaurentLam
- Adobe Campaign Classic
Hello,I never tried this approach: you should never use an option to store this type of data.options are made for storing, once, "short" values at instance environment...It means, even if you are able to make it works on the delivery properties side, when you have a 10K recipient delivery, you'll then update the option 10000 times...it would be more efficient to set the option in your workflow or to create a specific typology rule (applied to the desired deliveries) in order to update the option...

Views

488

Like

1

Replies

2