Question
Virtusa
AU
Last activity: 3 Aug 2021 1:14 EDT
How to Post Audience into Facebook using Paid Media Manager
I am trying to post an Facebook Ad using Paid Media Manager.
1. I have created a Facebook manager account and Ad page.
2. I have updated the channel with destination key in PegaV8.4.1
3. I have scheduled NBA designer and checked the Dataset with final offers.
Can anyone help me in understanding how the syncing happen between Pega and Facebook in updating the audience.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Updated: 19 Oct 2020 23:37 EDT
Pegasystems Inc.
IN
We have HFix-67007 (DL-119681) to support Facebook API v8 for Pega Marketing/Pega 8.4 now. Please reach out to Pega support.
Thanks & Regards,
Matta
Pegasystems Inc.
IN
Hi,
The following are steps involved in paid integration
1) Configure paid destination with valid access token
2) Enable Paid in Actions from Treatments tab
3) Enable paid in NBA Designer
https://community.pega.com/knowledgebase/documents/pega-customer-decision-hub-84-user-guide
Then make sure Agents are enabled as per below article
Once the outbound is triggered you should be able to monitor the paid media sync jobs from App Studio->Settings->Channels->Paid media->Sync tracking
Paid media run gets triggered on successful completion of program run.
Could you please verify the above steps?
Thanks & Regards,
Matta
-
NAVAKANTH MANNEM
Pegasystems Inc.
IN
To add to the above details, you can also view the audiences that are successfully created in Facebook from App Studio -> Audiences -> Paid Media landing page.
-
NAVAKANTH MANNEM
Virtusa
AU
Thank you Chans5 for your response. There are no audience created in this landing page. Could you please share the steps to debug this. I have viewed the code, not sure where exactly this audience rule is getting created.
PFA of my Paid Audience landing page.
Thanks in advance.
Updated: 22 Sep 2020 22:55 EDT
Virtusa
AU
Thanks Mann1 for your reponse.
I have followed Step-1, 3 and enabled all the agents. I am unable to complete step-2, PFA of screenshot. Could you please share the steps for enabling Paid in treatments tab.
Also I have observed, all my Paid media sync job failed because of below error.
Thanks Mann1 for your reponse.
I have followed Step-1, 3 and enabled all the agents. I am unable to complete step-2, PFA of screenshot. Could you please share the steps for enabling Paid in treatments tab.
Also I have observed, all my Paid media sync job failed because of below error.
Queue Processor Failed with following error <?xml version="1.0"?> <pagedata> <pzAttempts>1</pzAttempts> <pzRunInSystemRuntimeContext>false</pzRunInSystemRuntimeContext> <pzMessageID>58a9b850-1db4-4c94-b3dc-3d1b08247e13</pzMessageID> <pzMessageClass>System-Queue-PaidMediaSync</pzMessageClass> <pxCreateDateTime>20200922T063746.877 GMT</pxCreateDateTime> <pzAccessGroup>PegaNBAM:Agents</pzAccessGroup> <pzReferenceObjKey>SYSTEM-QUEUE-PAIDMEDIASYNC PM-5DKF4C2751D-2</pzReferenceObjKey> <pzLastExecutionDateTime>20200922T063746.877 GMT</pzLastExecutionDateTime> <pxStreamPosition>0</pxStreamPosition> <pxInsName>58A9B850-1DB4-4C94-B3DC-3D1B08247E13</pxInsName> <pxSaveDateTime>20200922T063746.878 GMT</pxSaveDateTime> <pzAcquireLockOn>NONE</pzAcquireLockOn> <pzLoadTime>September 23, 2020 1:25:21 AM UTC</pzLoadTime> <pzPageNameHash>_pa991918772292194pz</pzPageNameHash> <pzInsKey>SYSTEM-MESSAGE-QUEUEPROCESSOR-BROKENITEM 58A9B850-1DB4-4C94-B3DC-3D1B08247E13</pzInsKey> <pzAcquireLockTimeout>0</pzAcquireLockTimeout> <pzPageNameBase>D_GetPaidMediaBrokenItem</pzPageNameBase> <pzQueueProcessorName>PaidMediaSync</pzQueueProcessorName> <pzAcquireLockAttempts>0</pzAcquireLockAttempts> <pxObjClass>System-Message-QueueProcessor-BrokenItem</pxObjClass> <pzTenantId>shared</pzTenantId> <pxStreamPartition>11</pxStreamPartition> <pxQueuingNodeId>dataflow-i-0201dcdac7f17c0f8</pxQueuingNodeId> <pzEnqueuedSnapShotOfPage>true</pzEnqueuedSnapShotOfPage> <pzStatus>valid</pzStatus> <pySourcePage> <pxObjClass>Embed-DataSource</pxObjClass> <pySourceIdentifier>GetBrokenPaidMediaItem</pySourceIdentifier> <pySourceNumber>1</pySourceNumber> <pySourceType>Activity</pySourceType> <pySourceClass>System-Message-QueueProcessor-BrokenItem</pySourceClass> </pySourcePage> <pzProcessingErrorDetails REPEATINGTYPE="PageList"> <rowdata REPEATINGINDEX="1"> <pxObjClass>Embed-QueueErrorDetails</pxObjClass> <pxNodeId>util-i-0b73b0db287d1b650</pxNodeId> <pxException>com.pega.pegarules.pub.PRRuntimeException: Error while processing AudienceSyncRequest Audience Sync Exception at com.pegarules.generated.activity.ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.step21_circum0(ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.java:1810) at com.pegarules.generated.activity.ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.perform(ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.java:466) at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:2793) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorExecutor.runUserActivity(QueueProcessorExecutor.java:233) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorExecutor.execute(QueueProcessorExecutor.java:97) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorOnlyOnceExecutionStrategy.run(QueueProcessorOnlyOnceExecutionStrategy.java:103) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.IQueueProcessorExecutionStrategy.execute(IQueueProcessorExecutionStrategy.java:27) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorDataFlowFactory$1$1.onNext(QueueProcessorDataFlowFactory.java:86) at com.pega.dsm.dnode.impl.dataflow.asyncexecutor.QueueProcessorDataFlowFactory$1$1.onNext(QueueProcessorDataFlowFactory.java:77) at com.pega.dsm.dnode.api.dataflow.DataFlowStage$StageInputSubscriber.onNext(DataFlowStage.java:449) at com.pega.dsm.dnode.api.dataflow.DataFlowStage$StageInputSubscriber.onNext(DataFlowStage.java:382) at com.pega.dsm.dnode.api.dataflow.DataFlowExecutor$QueueBasedDataFlowExecutor$2.process(DataFlowExecutor.java:325) at com.pega.dsm.dnode.api.dataflow.DataFlowExecutor$QueueBasedDataFlowExecutor.runEventLoop(DataFlowExecutor.java:216) at com.pega.dsm.dnode.api.dataflow.DataFlow$2.emit(DataFlow.java:325) at com.pega.dsm.dnode.impl.stream.DataObservableImpl.subscribe(DataObservableImpl.java:59) at com.pega.dsm.dnode.impl.dataflow.task.strategy.ExecutionStrategy.executeDataFlow(ExecutionStrategy.java:124) at com.pega.dsm.dnode.impl.dataflow.task.strategy.MultiplePartitionExecution.executePartitions(MultiplePartitionExecution.java:87) at com.pega.dsm.dnode.impl.dataflow.service.run.ExecutePartitionsRunnable$1.run(ExecutePartitionsRunnable.java:64) at com.pega.dsm.dnode.impl.dataflow.service.run.ExecutePartitionsRunnable$1.run(ExecutePartitionsRunnable.java:56) at com.pega.dsm.dnode.util.PrpcRunnable.execute(PrpcRunnable.java:67) at com.pega.dsm.dnode.impl.prpc.service.ServiceHelper.executeInPrpcContextInternal(ServiceHelper.java:301) at com.pega.dsm.dnode.impl.prpc.service.ServiceHelper.executeInPrpcContext(ServiceHelper.java:146) at com.pega.dsm.dnode.impl.dataflow.service.run.ExecutePartitionsRunnable.call(ExecutePartitionsRunnable.java:56) at com.pega.dsm.dnode.impl.dataflow.service.run.ExecutePartitionsRunnable.call(ExecutePartitionsRunnable.java:33) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:108) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:41) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at com.pega.dsm.dnode.util.PrpcRunnable$1.run(PrpcRunnable.java:59) at com.pega.dsm.dnode.util.PrpcRunnable$1.run(PrpcRunnable.java:56) at com.pega.dsm.dnode.util.PrpcRunnable.execute(PrpcRunnable.java:67) at com.pega.dsm.dnode.impl.prpc.PrpcThreadFactory$PrpcThread.run(PrpcThreadFactory.java:124) Caused by: com.pega.mkt.paidmedia.sync.AudienceSyncException@63e55dd0[paidMediaErrors=[com.pega.mkt.paidmedia.error.PaidMediaError@49ef11fc[paidRunId=PM-5,dataFlowRunId=N/A,code=2635,message=(#2635) You are calling a deprecated version of the Ads API. Please update to the latest version: v8.0.,severity=CRITICAL,occurredOn=Tue Sep 22 06:37:46 UTC 2020,platform=Facebook,destination=331943724731869,syncType=OUTBOUND]]] at com.pega.mkt.paidmedia.facebook.FacebookErrorUtilities.buildAudienceSyncException(FacebookErrorUtilities.java:148) at com.pega.mkt.paidmedia.sync.facebook.FacebookAudienceSyncService.createAudiences(FacebookAudienceSyncService.java:461) at com.pega.mkt.paidmedia.sync.facebook.FacebookAudienceSyncService.createAudiencesWithLock(FacebookAudienceSyncService.java:170) at com.pega.mkt.paidmedia.sync.facebook.FacebookAudienceSyncService.processAudienceSyncRequest(FacebookAudienceSyncService.java:218) at com.pega.mkt.paidmedia.sync.facebook.FacebookAudienceSyncService.startSync(FacebookAudienceSyncService.java:89) at com.pegarules.generated.activity.ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.step6_circum0(ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.java:893) at com.pegarules.generated.activity.ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.perform(ra_action_processpaidmediasync_7bd662e768b30486ca98c8d001d7765e.java:180) ... 31 more </pxException> <pxErrorDateTime>20200922T063746.877 GMT</pxErrorDateTime> <pxExceptionMessage>Error while processing AudienceSyncRequest Audience Sync Exception</pxExceptionMessage> <pxAuthDetails> <pxCurrentRulesetList>[PM-NBADTests:01-01|PM-Artifacts:01-01|PM-Rules:01-01|PM:01-01|PMInt:01-01|CBA:01-01|CBAInt:01-01|PegaMarketing_FW-HealthCheck:08-04|PegaMKT-Configuration:08-04|PegaMKT-Install:08-04|PegaMKT-MarketingProfile:08-04|PegaMKT-Portal:08-04|PegaMKT-Desktop:08-04|PegaMKT-RevisionManagement:08-04|PegaMKT-Engine:08-04|PegaMKT-Integration:08-04|PegaMKT-MailUtilities:08-04|PegaMKT-Passbook:08-04|PegaMKT-PushNotification:08-04|PegaMKT-Security:08-04|PegaMKT-Cloud:08-04|PegaFW-DashboardCharts:01-01|Pega-IAC:08-04|UI-Kit-7:15-01-01|Pega-DecisionManager:08-04|PegaFW-NPS:08-01|PDCClient:01-01|Pega-ProcessCommander:08-04|Pega-DeploymentDefaults:08-04|Pega-DecisionScience:08-04|Pega-DecisionArchitect:08-04|Pega-LP-Mobile:08-04|Pega-LP-ProcessAndRules:08-04|Pega-LP-Integration:08-04|Pega-LP-Reports:08-04|Pega-LP-SystemSettings:08-04|Pega-LP-UserInterface:08-04|Pega-LP-OrgAndSecurity:08-04|Pega-LP-DataModel:08-04|Pega-LP-Application:08-04|Pega-LP:08-04|Pega-SystemOperations:08-04|Pega-UpdateManager:08-04|Pega-SecurityVA:08-04|Pega-Feedback:08-04|Pega-HealthCheck:08-04|Pega-AutoTest:08-04|Pega-AppDefinition:08-04|Pega-ImportExport:08-04|Pega-LocalizationTools:08-04|Pega-RuleRefactoring:08-04|Pega-ProcessArchitect:08-04|Pega-Portlet:08-04|Pega-Content:08-04|Pega-BigData:08-04|Pega-NLP:08-04|Pega-DecisionEngine:08-04|Pega-IntegrationArchitect:08-04|Pega-SystemArchitect:08-04|Pega-Desktop:08-04|Pega-EndUserUI:08-04|Pega-Survey:08-04|Pega-Social:08-04|Pega-SharedData:08-04|Pega-API:08-04|Pega-EventProcessing:08-04|Pega-Reporting:08-04|Pega-UIDesign:08-04|Pega-Gadgets:08-04|Pega-UIComponents:08-04|Pega-UIEngine:08-04|Pega-ProcessEngine:08-04|Pega-SearchEngine:08-04|Pega-IntegrationEngine:08-04|Pega-RulesEngine:08-04|Pega-Engine:08-04|PegaLegacyRules:01-01|Pega-ProCom:08-04|Pega-IntSvcs:08-04|Pega-WB:08-04|Pega-RULES:08-04|]</pxCurrentRulesetList> <pxCurrentRoleList>[PegaRULES:Batch, PegaRULES:SysAdm4, PegaNBAM_FW:Batch]</pxCurrentRoleList> <pxCurrentAccessGroup>PegaNBAM:Agents</pxCurrentAccessGroup> </pxAuthDetails> </rowdata> </pzProcessingErrorDetails> <pxDPParameters> <DestinationKey>DKf4c2751d</DestinationKey> <JobID>PM-5</JobID> </pxDPParameters> <pzMessageContent> <pxObjClass>System-Queue-PaidMediaSync</pxObjClass> <DestinationKey>DKf4c2751d</DestinationKey> <SyncType>OUTBOUND</SyncType> <pzInsKey>SYSTEM-QUEUE-PAIDMEDIASYNC PM-5DKF4C2751D-2</pzInsKey> <JobID>PM-5</JobID> <pyItemId>PM-5DKf4c2751d-2</pyItemId> </pzMessageContent> </pagedata>
Virtusa
AU
Based on the error captured. It is saying to upgrade the Ads API to v8.
com.pega.mkt.paidmedia.sync.AudienceSyncException@6e30f047[paidMediaErrors=[com.pega.mkt.paidmedia.error.PaidMediaError@14fe1dfa[paidRunId=PM-1,dataFlowRunId=N/A,code=2635,message=(#2635) You are calling a deprecated version of the Ads API. Please update to the latest version: v8.0.,severity=CRITICAL,occurredOn=Fri Sep 18 06:45:22 UTC.
I have checked this in my Facebook developer account. It is currently V8. PFA of screenshot of this. Please let me know, if you need any other configuration screenshot.
Updated: 23 Sep 2020 3:01 EDT
Pegasystems Inc.
IN
Is this application newly created? Do you have an option to change the version to V7? We have a hot fix(HFix-63751) to support upgrading to V7 as it is available until 2022. We will be raising the support request to FB to get it clarified on why are we not able to create application with V7.
Thanks & Regards,
Matta
Virtusa
AU
Thanks for your response.
This is a POC, I am doing in 8.4.1 Pega Cloud Env. New application created on top of Marketing to enable NBA designer and Paid Media Manager.
Pegasystems Inc.
IN
Sorry for the confusion. The question was on version of Facebook Ad application.
Virtusa
AU
Thanks for the clarification Matta,
We dont have an option to change the Facebook Ad API version to 7, by default it got created to v8. Can we downgrade to v7?
Virtusa
AU
Hi Matta,
I found similar issue being faced in Pega 7.4. They had a hotfix for this. Can I relate the same in my case.
Please advise.
Pegasystems Inc.
IN
Yes it's similar issue which occured when Facebook deprecated previous Marketing API and enforced upgrading to new version. The solution is pega to provide a hot fix to support latest marketing API version. Please find the change log of Facebook @ https://developers.facebook.com/docs/graph-api/changelog/
In the past, it was not mandatory that one should upgrade immediately to new version. Until the previous version is available we should be able to create applications with older version. In your case we should be able to create Facebook App with V7 for which we already provided a hot fix as I mentioned in previous response.
The issue here, we are not able to create app with V7 even though it is not deprecated yet. We have raised a ticket with Facebook to confirm on this. If Facebook confirms it's strategical change then we will go ahead and provide hotfix to support V8.
https://developers.facebook.com/community/threads/829113874574453/?post_id=829113881241119
I hope that clarifies your question.
Thanks & Regards,
Matta
-
NAVAKANTH MANNEM
Virtusa
AU
Thanks for the clarification Matta, This clears most of my questions.
I would also like to check some other configuration settings from API Side before making the request from Pega.
1) Do we need to change the App mode to "Live Status" from "In Development" in Facebook API?
2) Do we need to add any server IP address allow list in the App to get the Pega API calls passed?
3) Do we need to get "Ads Management Standard Access" for the App? To get this permission, we need to submit a request to Facebook with all the business use case.
Pegasystems Inc.
IN
1) Once you get the standard access for production usage we should make the app live
2) No, we do not use oAuth for Facebook. So not required for Facebook
3) Pre-requisite for #1. For production usage we should go for app approval process which provides the standard access. Once you get standard access you can make your app live
Please refer https://community.pega.com/knowledgebase/articles/pega-marketing/submitting-facebook-app-review for app approval process.
Thanks & Regards,
Matta
-
NAVAKANTH MANNEM
AI4Process Ltd
GB
Hi Matta,
Even I have the same issue with configuring Paid Media Channel in Pega 8.4. Could you please advise once the HotFix for Facebook API v8 is available.
Thanks,
Prerna
Accepted Solution
Updated: 19 Oct 2020 23:37 EDT
Pegasystems Inc.
IN
We have HFix-67007 (DL-119681) to support Facebook API v8 for Pega Marketing/Pega 8.4 now. Please reach out to Pega support.
Thanks & Regards,
Matta
Virtusa
AU
Hi Matta,
I have installed this hotfix. But still I am getting the same error. I have checked whether all the libraries have been successfully installed. Do you want me to removed old classes (v7/v6) with same ? Ideally these new classes should override the old one.
Could you please advise on this.
Pegasystems Inc.
IN
No, it won't override, the patch date will vary for classes in latest jar. Class loader takes care of picking the correct version. I hope you are discussing on this in the support request.
Thanks & Regards,
Matta
Virtusa
AU
Thanks for your Response Matta.
Yes @MANNM1 , Pega Engineer is helping me in identifying this issue. Will share the root cause and solution here, it may be useful for others who are trying PMM.
HSBC
IN