ALTERNATIVE SIMPLE FIX - Always Use Local Generic Images ========================================================= This is the EASIEST fix - just force all reviews to use your local generic images instead of trying to load Google profile photos. FIND THIS CODE (around line 64-84): // Break out the reviews from google if ($lead["gbp_found"]) { $reviews = json_decode($lead["google_reviews_json"], true); } else { REPLACE WITH: // Break out the reviews from google if ($lead["gbp_found"]) { $reviews = json_decode($lead["google_reviews_json"], true); // Override Google profile photos with local images to avoid CORS issues foreach ($reviews as $index => &$review) { $imageNumber = (($index % 3) + 1); $review["profile_photo_url"] = $imageURL . "campaigns/" . $campaign['campaign_key'] . "/GenericReviewImage" . $imageNumber . ".png"; } unset($review); // Break reference } else { THAT'S IT! This solution: - Uses actual Google review TEXT and names - But replaces the profile photos with your local generic images - No more CORS errors - No changes needed anywhere else in the file - Much simpler than the other solution