Infusionsoft does not trigger campaign goals of "Product Purchased" if the payment was not processed by Infusionsoft. This has been a long standing issue, we and many other developers are counting on Infusionsoft to fix this soon. Since all orders placed through mPOS.sale is paid from third party merchants (like Square, iZettle), it does not trigger campaign goals.
Luckily, there is a workaround which we can use meanwhile. Following these steps will ensure that your campaigns work properly with mPOS.sale. The same can be useful for any other API scripts too.
Step 1) Configure purchase action for the product using this guide. The action set should apply a tag (tag name does not matter). We will be using tag named same as product name, placed under "Campaign Triggers", for ease of maintenance. You may use any tag category and tag name. If your campaign has some simple actions, you may also configure it entirely under Purchase Action and skip the second step.
Step 2) Edit your campaign and add a "Tag applied" goal under the "Product purchased" goal/trigger. Double click on the newly added "Tag applied" goal and type name of the tag you applied in the previous step. After that, connect that goal in the same way as the "Product purchased" goal.
Please refer to two images below which covers both possible situations.
1) If you are using "Product purchased" as trigger
2) If you are using "Product purchased" as achievement goal