<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paula Crane</title>
    <description>The latest articles on DEV Community by Paula Crane (@paula_crane_c9820a60c69ec).</description>
    <link>https://dev.to/paula_crane_c9820a60c69ec</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3959254%2Ff2431fe3-da03-4a9b-a3ea-713498c6eb74.png</url>
      <title>DEV Community: Paula Crane</title>
      <link>https://dev.to/paula_crane_c9820a60c69ec</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/paula_crane_c9820a60c69ec"/>
    <language>en</language>
    <item>
      <title>Zero Conversions From Facebook In App Traffic, Multiple Workarounds</title>
      <dc:creator>Paula Crane</dc:creator>
      <pubDate>Sat, 30 May 2026 00:22:18 +0000</pubDate>
      <link>https://dev.to/paula_crane_c9820a60c69ec/zero-conversions-from-facebook-in-app-traffic-multiple-workarounds-36oe</link>
      <guid>https://dev.to/paula_crane_c9820a60c69ec/zero-conversions-from-facebook-in-app-traffic-multiple-workarounds-36oe</guid>
      <description>&lt;p&gt;*&lt;em&gt;Help Needed: Zero Form Conversions from Facebook In-App Browser Despite Multiple Fixes&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
The Problem&lt;/p&gt;

&lt;p&gt;We have a static site hosted on Netlify(pursueyourpink.com) with a simple email subscription form. &lt;br&gt;
The form works perfectly when tested from desktop Chrome, Safari, mobile Safari, and via &lt;code&gt;curl&lt;/code&gt;. GA4 confirms hundreds of form submissions but none are making it to Mailchimp. This is still happening despite multiple workaround attempts.  &lt;/p&gt;

&lt;h2&gt;
  
  
  What We've Tried (Chronologically)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Original setup: Mailchimp JSONP embed (standard Mailchimp form). Zero conversions from Facebook traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Diagnosis:Facebook in-app browser blocks cross-origin requests. The JSONP script injection to &lt;code&gt;list-manage.com&lt;/code&gt; was being silently blocked.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix #1 — Netlify Function proxy:** Replaced JSONP with a Netlify serverless function. Form now POSTs to &lt;code&gt;/.netlify/functions/subscribe&lt;/code&gt; (same origin). Function talks to Mailchimp API server-to-server. &lt;strong&gt;Works perfectly from desktop/mobile browsers and curl. Still zero conversions from Facebook traffic.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix #2 — localStorage recovery:** Added auto-save of email to localStorage as user types. On next visit, if a saved email exists, it auto-submits. &lt;strong&gt;No recoveries observed.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;5.Fix #3 — Native HTML form fallback:** Added &lt;code&gt;action="/.netlify/functions/subscribe" method="POST"&lt;/code&gt; and &lt;code&gt;name="email"&lt;/code&gt; to the form. If JavaScript is completely blocked, the form still submits natively via standard HTTP POST. Function handles both JSON and form-encoded content types. &lt;strong&gt;Confirmed working via curl with &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt;. Still waiting on real-world results.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fix #4 — Inline form on homepage:** Added the email form directly on the homepage hero section (in addition to the /join page) to eliminate the extra click. &lt;strong&gt;Just deployed.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What We Know
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Netlify Function works (confirmed via curl, both JSON and form-encoded)&lt;/li&gt;
&lt;li&gt;The form HTML is correct (action, method, name attributes all present)&lt;/li&gt;
&lt;li&gt;JavaScript form handler works in all standard browsers&lt;/li&gt;
&lt;li&gt;93% of traffic comes from Facebook in-app browser&lt;/li&gt;
&lt;li&gt;GA4 confirms form submissions &lt;/li&gt;
&lt;li&gt;Netlify Function logs show zero invocations from real visitors&lt;/li&gt;
&lt;li&gt;Cookie consent banner is present (GA only fires after consent)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Questions for the Community
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Is the Facebook in-app browser blocking ALL JavaScript execution** on the page, not just cross-origin requests? If &lt;code&gt;e.preventDefault()&lt;/code&gt; fires but &lt;code&gt;fetch()&lt;/code&gt; silently fails, the native fallback would never trigger because the default action was already prevented.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Should we remove &lt;code&gt;e.preventDefault()&lt;/code&gt; entirely and let the native form POST handle everything? The downside is the user briefly sees the function's JSON response or gets redirected, but at least it would work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is there a known issue with Netlify Functions not being invoked from the Facebook in-app browser, even for same-origin requests?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Would a redirect-based approach work better? Instead of fetch, use &lt;code&gt;window.location.href&lt;/code&gt; to navigate to a subscribe URL with the email as a query parameter.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;5.Has anyone successfully solved Mailchimp subscription from Facebook in-app browser traffic? What approach worked?&lt;/p&gt;

&lt;h2&gt;
  
  
  Environment
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Hosting: Netlify (paid plan)&lt;/li&gt;
&lt;li&gt;Functions: Netlify Functions (Node 18+)&lt;/li&gt;
&lt;li&gt;Email: Mailchimp API v3&lt;/li&gt;
&lt;li&gt;Analytics: GA4 (G-385196974)&lt;/li&gt;
&lt;li&gt;DNS: Squarespace → Netlify&lt;/li&gt;
&lt;li&gt;SPF/DKIM/DMARC: Configured&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>help</category>
      <category>react</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
