Skip to main content

We’re scaling our Click-to-Messenger campaigns on Facebook and need to build a unified performance report that joins two data sets:

Facebook Ads spend - keyed by ad_id, adset_id, campaign_id (we’re going to collect those via the Page webhook (with messaging_referrals): for each referral we can get sender.id = PSID and referral.ad_id, etc.).
Contacts inside ManyChat - phone number and custom fields, accessible only via contact_id using the public API.


Problem:

  • ManyChat’s API doesn’t accept a PSID (sender.id) as subscriber_id; both getInfo and setCustomFieldByName require the internal contact_id.
  • The API also never returns the PSID when querying a contact.
  • Manual Bulk Export PSIDs works, but we need a fully automated (or at least daily) way to join spend ↔️ leads reliably.


Questions to the community:

  1. Is there any documented or undocumented method to retrieve the PSID for a contact via API, or to resolve a contact_id from a known PSID?
  2. Have you implemented a workflow (e.g., via Zapier, Make, or custom Graph API bot) that reliably maps ad_id to ManyChat contacts without using manual exports?
  3. If no such method exists, are there any roadmap plans to expose PSID via API, or best practices ManyChat recommends for performance attribution in Click-to-Messenger funnels?

Any practical insight, workaround, or confirmation that this is currently not possible is deeply appreciated. Thanks!

Be the first to reply!

Reply