You can create an ad set with "mixed placement" that runs on Facebook placements and Instagram Stream. All ad creatives used by ads in that set work on both platforms. Provide different image crop specs for the same image, with 100x100 or 191x100 for Instagram, and 100x100 for Facebook. Or you can use different images for Facebook and Instagram.
Instagram ignores the image crop spec
191x100 in ad creative, but only takes it in case you use
Create the ad creative with the image you want to use on Facebook, including Facebook desktop, mobile, audience network, etc. Then provide a different image as the override for Instagram only, using the
use FacebookAds\Object\AdCreative; use FacebookAds\Object\AdCreativeLinkData; use FacebookAds\Object\Fields\AdCreativeLinkDataFields; use FacebookAds\Object\AdCreativeObjectStorySpec; use FacebookAds\Object\Fields\AdCreativeObjectStorySpecFields; use FacebookAds\Object\Fields\AdCreativeFields; $link_data = new AdCreativeLinkData(); $link_data->setData(array( AdCreativeLinkDataFields::MESSAGE => 'Great looking SXT handbags in store. #prettybag', AdCreativeLinkDataFields::LINK => 'http://example.com', AdCreativeLinkDataFields::IMAGE_HASH => '<IMAGE_HASH>', AdCreativeLinkDataFields::CAPTION => 'www.example.com', AdCreativeLinkDataFields::CALL_TO_ACTION => array( 'type' => 'LEARN_MORE', 'value' =>array( 'link' => 'http://example.com', ) ), )); $object_story_spec = new AdCreativeObjectStorySpec(); $object_story_spec->setData(array( AdCreativeObjectStorySpecFields::PAGE_ID => <PAGE_ID>, AdCreativeObjectStorySpecFields::INSTAGRAM_ACTOR_ID => <IG_ACCOUNT_FBID>, AdCreativeObjectStorySpecFields::LINK_DATA => $link_data, )); $platform_customizations = array( 'instagram' => array( 'image_url' => 'sample.com/ig-friendly-image.jpg', 'image_crops' => array( '100x100'=> array(array(200,90),array(900,790)) ), )); $creative = new AdCreative(null, 'act_<AD_ACCOUNT_ID>'); $creative->setData(array( AdCreativeFields::NAME => 'Instagram only creative', AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec, 'platform_customizations' => $platform_customizations, )); $creative->create();
platform_customizations parameter may contain only one
image_hash, and an optional image crop spec. You can also specify a different video using
You can use this to override images and videos for Instagram ads. You can use it for
video_data. You cannot use it to override text, or to provide overrides for Facebook ads. If the original image for Facebook is specified in a post with
object_story_id, you can also use this option to display an image or video, instead of the one included in the
This feature does not work with Dynamic Ads.